1 2014-11-23 Tobias Burnus <burnus@net-b.de>
3 * error.c (gfc_diagnostic_build_prefix): Correct coloring
4 of the colon of the prefix.
6 2014-11-23 Tobias Burnus <burnus@net-b.de>
7 Manuel López-Ibáñez <manu@gcc.gnu.org>
9 * gfortran.h (gfc_option_t): Remove warn_tabs.
10 * lang.opt (Wpedantic): Add.
11 (Wtabs): Use Var and LangEnabledBy.
12 * options.c (gfc_init_options, gfc_post_options,
13 set_Wall): Remove -Wtabs handling.
14 (gfc_handle_option): Update -std=, remove OPT_Wtabs.
15 * scanner.c (gfc_gobble_whitespace): Update for
16 flag-variable renaming.
17 (load_line): Ditto. Pass warn flag to diagnostic.
19 2014-11-22 Tobias Burnus <burnus@net-b.de>
21 * trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
23 2014-11-15 Tobias Burnus <burnus@net-b.de>
25 * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
26 (gfc_fatal_error): Add; uses common diagnostics.
27 * array.c (gfc_match_array_ref, gfc_match_array_spec): Use
29 * check.c (check_co_collective, gfc_check_lcobound,
30 gfc_check_image_index, gfc_check_num_images,
31 gfc_check_this_image, gfc_check_ucobound): Ditto.
32 * cpp.c (gfc_cpp_post_options): Ditto.
33 (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
34 * gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
35 * gfortran.h (gfc_fatal_error_1): Add.
36 * match.c (gfc_match_name, gfc_match_critical,
37 lock_unlock_statement, sync_statement): Add %< %>.
38 * module.c (bad_module, gfc_dump_module, gfc_use_module): Change
40 * options.c (gfc_handle_module_path_options, gfc_handle_fpe_option,
41 gfc_handle_coarray_option, gfc_handle_runtime_check_option,
42 gfc_handle_option): Add %< %>.
43 * simplify.c (gfc_simplify_num_images): Ditto.
44 * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
45 * trans-array.c (gfc_conv_array_initializer): Ditto.
46 * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
47 of fatal_error; add %< %> quotations.
49 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
50 Thomas Schwinge <thomas@codesourcery.com>
51 Ilya Verbin <ilya.verbin@intel.com>
52 Andrey Turetskiy <andrey.turetskiy@intel.com>
54 * Make-lang.in (fortran.install-common): Do not install for the offload
57 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
60 * gfortran.h (warn_use_without_only): Remove.
61 (gfc_diagnostics_finish): Declare.
62 * error.c: Include tree-diagnostics.h
63 (gfc_format_decoder): New.
64 (gfc_diagnostics_init): Use gfc_format_decoder. Set default caret
66 (gfc_diagnostics_finish): Restore tree diagnostics defaults, but
67 keep gfc_diagnostics_starter and finalizer. Restore default caret.
68 * options.c: Remove all uses of warn_use_without_only.
69 * lang.opt (Wuse-without-only): Add Var.
70 * f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish.
71 * module.c (gfc_use_module): Use gfc_warning_now_2.
72 * parse.c (decode_statement): Likewise.
73 (decode_gcc_attribute): Likewise.
74 (next_free): Likewise.
75 (next_fixed): Likewise.
77 2014-11-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
80 * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.
82 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
86 * gfortran.texi: Add note about locale issues to thread-safety
89 2014-11-04 Bernd Schmidt <bernds@codesourcery.com>
91 * f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
92 scalbn, scalbnl and scalbnf.
93 * mathbuiltins.def (JN, YN): Use type index 5.
95 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
97 * trans-types.c, trans-types.h: Remove redundant enum from
100 2014-10-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
103 * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2.
104 (gfc_error_cmdline): Rename as gfc_error_now_2.
105 * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space.
106 (gfc_diagnostic_starter): Add space between locus and prefix.
107 (gfc_warning_now_2): Renamed from gfc_warning_cmdline.
108 (gfc_error_now_2): Renamed from gfc_error_cmdline.
109 * scanner.c (add_path_to_list): Use gfc_warning_now_2.
110 (load_line): Likewise.
111 (load_file): Likewise.
112 * options.c (gfc_post_options): Update all renamed functions.
114 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
116 * f95-lang.c: Adjust include files.
117 * trans-decl.c: Ditto.
119 2014-10-24 Tobias Burnus <burnus@net-b.de>
121 * check.c (check_co_collective): Reject coindexed A args.
122 (gfc_check_co_reduce): Add OPERATOR checks.
123 * gfortran.texi (_gfortran_caf_co_broadcast, _gfortran_caf_co_max,
124 _gfortran_caf_co_min, _gfortran_caf_co_sum,
125 _gfortran_caf_co_reduce): Add ABI documentation.
126 * intrinsic.texi (CO_REDUCE): Document intrinsic.
127 (DPROD): Returns double not single precision.
128 * trans-decl.c (gfor_fndecl_co_reduce): New global var.
129 (gfc_build_builtin_function_decls): Init it.
130 * trans.h (gfor_fndecl_co_reduce): Declare it.
131 * trans-intrinsic.c (conv_co_collective,
132 gfc_conv_intrinsic_subroutine): Handle CO_REDUCE.
134 2014-10-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
137 * trans-const.c (gfc_build_nan): New function.
138 * trans-const.h (gfc_build_nan): New prototype.
139 * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special
141 (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan.
142 (gfc_conv_intrinsic_fraction): Handle special values.
143 (gfc_conv_intrinsic_spacing): Likewise.
144 (gfc_conv_intrinsic_rrspacing): Likewise.
145 (gfc_conv_intrinsic_set_exponent): Likewise.
147 2014-10-18 Paul Thomas <pault@gcc.gnu.org>
150 * resolve.c (resolve_ordinary_assign): Add data component to
151 rvalue expression for class to type assignment.
153 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
155 * f95-lang.c: Adjust include files.
156 * trans-decl.c: Likewise.
158 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
160 * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
162 2014-10-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
165 * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
166 (gfc_simplify_log): Likewise.
167 (gfc_simplify_scale): Likewise.
168 (gfc_simplify_exponent): Handle infinities and NaNs.
169 (gfc_simplify_fraction): Handle infinities.
170 (gfc_simplify_rrspacing): Handle signed zeros and NaNs.
171 (gfc_simplify_set_exponent): Handle infinities and NaNs.
172 (gfc_simplify_spacing): Handle zeros, infinities and NaNs.
174 2014-10-10 Jakub Jelinek <jakub@redhat.com>
177 * trans-openmp.c (gfc_omp_predetermined_sharing): Return
178 OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
180 2014-10-10 Tobias Burnus <burnus@net-b.de>
182 * gfortran.h (gfc_set_implicit_none): Update prototype.
183 * symbol.c (gfc_set_implicit_none): Take and
184 use error location. Move diagnostic from here to ...
185 * decl.c (gfc_match_implicit_none): ... here. And
186 update call. Handle empty implicit-none-spec.
187 (gfc_match_implicit): Handle statement-separator ";".
189 2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
191 * f95-lang.c (gfc_init_builtin_functions): Add more floating-point
193 * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
194 remainder, rint and signbit.
195 * trans-decl.c (save_fp_state, restore_fp_state): Move to
197 (gfc_generate_function_code): Use new names for these two functions.
198 * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
199 emit code from the front-end.
200 * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
201 conv_ieee_function_args, conv_intrinsic_ieee_builtin,
202 conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
203 conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
204 conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
205 conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
207 * trans.h (gfc_conv_ieee_arithmetic_function,
208 gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
210 2014-10-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
214 * gfortran.h (gfc_warning_cmdline): Add overload that takes an
216 (gfc_error_cmdline): Declare.
217 * error.c (gfc_warning_cmdline): New overload that takes an option.
218 (gfc_error_cmdline): New.
219 * lang.opt (Wmissing-include-dirs): New.
220 * scanner.c (add_path_to_list): Use the new functions.
221 (load_file): Likewise.
222 * options.c (gfc_init_options): Wmissing-include-dirs is enabled
223 by default in Fortran.
224 (gfc_handle_option): Accept automatically handled options.
226 2014-10-06 Tobias Burnus <burnus@net-b.de>
228 * libgfortran.h (GFC_STD_F2015): Add.
229 * decl.c (gfc_match_implicit_none): Handle spec list.
230 (gfc_match_implicit): Move double intrinsic warning here.
231 * gfortran.h (gfc_namespace): Add has_implicit_none_export:1.
232 (gfc_set_implicit_none): Update interface.
233 * interface.c (gfc_procedure_use): Add implicit-none external
235 * parse.c (accept_statement): Remove call.
236 (verify_st_order): Permit that external-implict-none follows
238 * symbol.c (gfc_set_implicit_none): Handle external/type
241 2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
244 * resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
246 2014-09-25 Tobias Burnus <burnus@net-b.de>
248 * check.c (check_co_collective): Renamed from check_co_minmaxsum,
250 (gfc_check_co_minmax, gfc_check_co_sum): Update call.
251 (gfc_check_co_broadcast, gfc_check_co_reduce): New.
252 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
254 * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
255 * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
257 * intrinsic.texi (CO_BROADCAST): Add.
258 * trans.h (gfor_fndecl_co_broadcast): New.
259 * trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
260 (gfc_build_builtin_function_decls): Add decl for it,
261 * trans-intrinsic.c (conv_co_collective): Renamed from
262 conv_co_minmaxsum. Handle co_reduce.
263 (gfc_conv_intrinsic_subroutine): Handle co_reduce.
265 2014-09-23 Jakub Jelinek <jakub@redhat.com>
268 * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
269 instead of VAR_DECL for base_decl.
271 2014-09-21 Jan Hubicka <hubicka@ucw.cz>
273 * openmp.c (omp_context): Rename to ...
274 (fortran_omp_context): ... this one.
276 2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
278 * resolve.c (resolve_fl_procedure): Remove duplicated lines.
280 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
281 Tobias Burnus <burnus@net-b.de>
283 * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
284 generating temporary for value argument.
286 2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
288 * trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
289 (gfc_conv_class_to_class): Likewise.
290 (gfc_conv_procedure_call): Likewise.
291 (arrayfunc_assign_needs_temporary): Likewise.
292 (realloc_lhs_loop_for_fcn_call): Likewise.
293 (gfc_trans_assignment_1): Likewise.
294 * trans-array.c (gfc_conv_array_ref): Likewise.
295 (gfc_array_allocate): Likewise.
296 (gfc_alloc_allocatable_for_assignment): Likewise.
297 * symbol.c (generate_isocbinding_symbol): Likewise.
298 * class.c (finalization_scalarizer): Likewise.
299 (finalizer_insert_packed_call): Likewise.
300 (generate_finalization_wrapper): Likewise.
301 (find_intrinsic_vtab): Likewise.
302 * decl.c (gfc_match_import): Likewise.
303 (match_procedure_decl): Likewise.
304 (gfc_match_subroutine): Likewise.
305 (gfc_match_bind_c): Likewise.
306 (gfc_match_volatile): Likewise.
307 * trans-common.c (create_common): Likewise.
308 * error.c (gfc_diagnostic_starter): Likewise.
309 * trans-stmt.c (gfc_trans_sync): Likewise.
310 (gfc_trans_critical): Likewise.
311 (gfc_trans_simple_do): Likewise.
312 (gfc_trans_do): Likewise.
313 (gfc_trans_where_assign): Likewise.
314 * expr.c (gfc_is_simply_contiguous): Likewise.
315 * module.c (unquote_string): Likewise.
316 * trans.c (gfc_add_finalizer_call): Likewise.
317 * trans-types.c (gfc_init_kinds): Likewise.
318 * scanner.c (preprocessor_line): Likewise.
319 * gfortranspec.c (lang_specific_driver): Likewise.
320 * frontend-passes.c (create_var): Likewise.
321 (cfe_expr_0): Likewise.
322 * resolve.c (check_host_association): Likewise.
323 (gfc_resolve_code): Likewise.
324 (resolve_fl_derived0): Likewise.
325 (resolve_symbol): Likewise.
326 * f95-lang.c (poplevel): Likewise.
327 * trans-decl.c (create_main_function): Likewise.
328 * trans-io.c (transfer_expr): Likewise.
329 * arith.c (gfc_arith_divide): Likewise.
330 * parse.c (resolve_all_program_units): Likewise.
331 * check.c (gfc_check_rank): Likewise.
332 (gfc_check_sizeof): Likewise.
333 (is_c_interoperable): Likewise.
334 * dependency.c (gfc_dep_difference): Likewise.
335 * primary.c (gfc_match_rvalue): Likewise.
336 * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
337 (conv_isocbinding_subroutine): Likewise.
338 * options.c (gfc_post_options): Likewise.
339 (gfc_handle_fpe_option): Likewise.
340 (gfc_get_option_string): Likewise.
341 * simplify.c (simplify_transformation_to_scalar): Likewise.
342 (gfc_simplify_spread): Likewise.
344 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
347 * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
349 2014-09-15 Jakub Jelinek <jakub@redhat.com>
351 * Make-lang.in (check_gfortran_parallelize): Change to just an upper
354 2014-09-13 Tobias Burnus <burnus@net-b.de>
357 * trans-decl.c (gfc_build_builtin_function_decls): Fix
358 caf_unlock declaration.
360 2014-09-12 Joseph Myers <joseph@codesourcery.com>
362 * trans-types.c (gfc_init_kinds): Check
363 targetm.libgcc_floating_mode_supported_p for floating-point
364 modes. Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE.
366 2014-09-05 Joost VandeVondele <vondele@gcc.gnu.org>
369 * intrinsic.texi (INT): clarify result.
371 2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
374 * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
375 when matching a component declaration.
377 2014-09-02 Marek Polacek <polacek@redhat.com>
380 * interface.c (compare_parameter): Fix condition.
381 * trans-expr.c (gfc_conv_procedure_call): Likewise.
383 2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
386 * resolve.c (apply_default_init_local): Don't treat variables
387 in RECURSIVE procedures as saved.
389 2014-08-31 Tobias Burnus <burnus@net-b.de>
391 * trans-decl.c (gfc_build_builtin_function_decls): Add
392 may_require_tmp dummy argument.
393 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
394 conv_caf_send): Handle may_require_tmp argument.
395 (gfc_conv_intrinsic_function): Update call.
396 * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
397 _gfortran_caf_sendget): Update interface description.
399 2014-08-30 Tobias Burnus <burnus@net-b.de>
401 * trans.h (gfc_caf_get_image_index,
402 gfc_get_caf_token_offset): New prototypes.
403 * trans-expr.c (gfc_caf_get_image_index): Moved from
404 trans-intrinsic.c and renamed.
405 (gfc_get_caf_token_offset) Ditto; support offset = NULL
407 * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
409 (gfc_conv_intrinsic_caf_get, conv_caf_send,
410 conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
411 conv_intrinsic_atomic_cas): Update callers.
413 2014-08-30 Tobias Burnus <burnus@net-b.de>
418 * dependency.c (gfc_check_dependency): Allow for optimizations
419 in the pointer-alias check.
421 2014-08-30 Janne Blomqvist <jb@gcc.gnu.org>
423 * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
426 2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com>
429 * module.c (gfc_dump_module): Unlink old module file before
432 2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
434 * frontend_passes (expr_array): Replace by vec template.
436 (expr_count): Remove.
437 (doloop_list): Replace by vec template.
438 (doloop_size): Remove.
439 (gfc_run_passes): Adjust to use of vec template.
440 (cfe_register_funcs): Likewise.
441 (cfe_expr_0): Likewise.
442 (doloop_code): Likewise.
444 2014-08-22 Steven Bosscher <steven@gcc.gnu.org>
447 * resolve.c (resolve_select): Fix list traversal in case the
448 last element of the CASE list was dropped as unreachable code.
450 2014-08-22 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
453 * lang.opt (Wuse-without-only): New flag.
454 * gfortran.h (gfc_option_t): Add it.
455 * invoke.texi: Document it.
456 * module.c (gfc_use_module): Warn if needed.
457 * options.c (gfc_init_options,gfc_handle_option): Init accordingly.
459 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
462 * frontend-passes.c (optimize_binop_array_assignment):
463 Do not try to optimize the array assignment for string
466 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
469 * error.c (gfc_diagnostic_build_locus_prefix): New function.
470 (gfc_diagnostic_starter): Follow Fortran FE diagnostics.
471 (gfc_diagnostic_finalizer): Do not call default finalizer.
473 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
476 * error.c (gfc_diagnostic_finalizer): Call default finalizer.
478 2014-08-20 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
480 * options.c (gfc_init_options_struct): assert that the frontend sets
481 flag_errno_math and flag_associative_math.
483 2014-08-17 Tobias Burnus <burnus@net-b.de>
485 * resolve.c (gfc_resolve_finalizers): Ensure that parents are
488 2014-08-17 Tobias Burnus <burnus@net-b.de>
490 * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
492 (transfer_namelist_element): Use proper int type as argument.
494 2014-08-15 Thomas Koenig <tkoenig@gcc.gnu.org>
497 * trans-expr.c (is_runtime_conformable): Add NULL pointer checks.
499 2014-08-15 Tobias Burnus <burnus@net-b.de>
501 * resolve.c (resolve_critical): Fix name mangling.
502 * trans-stmt.c (gfc_trans_critical): Fix lock call.
504 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
507 * gfortran.h: Define GCC_DIAG_STYLE.
508 (gfc_diagnostics_init,gfc_warning_cmdline): Declare.
509 * trans-array.c: Include gfortran.h before diagnostic-core.h.
510 * trans-expr.c: Likewise.
511 * trans-openmp.c: Likewise.
512 * trans-const.c: Likewise.
514 * trans-types.c: Likewise.
515 * f95-lang.c: Likewise.
516 * trans-decl.c: Likewise.
517 * trans-io.c: Likewise.
518 * trans-intrinsic.c: Likewise.
519 * error.c: Include diagnostic.h and diagnostic-color.h.
520 (gfc_diagnostic_build_prefix): New.
521 (gfc_diagnostic_starter): New.
522 (gfc_diagnostic_finalizer): New.
523 (gfc_warning_cmdline): New.
524 (gfc_diagnostics_init): New.
525 * gfc-diagnostic.def: New.
526 * options.c (gfc_init_options): Call gfc_diagnostics_init.
527 (gfc_post_options): Use gfc_warning_cmdline.
529 2014-08-15 Jakub Jelinek <jakub@redhat.com>
530 Tobias Burnus <burnus@net-b.de>
533 * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
534 is allocatable, rather than whenever var->attr.allocatable.
536 2014-08-15 Jakub Jelinek <jakub@redhat.com>
539 * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
540 or allocatable passed by reference.
541 (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.
543 2014-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
546 * gfortran.h (symbol_attribute): Add fe_temp flag.
547 * frontend-passes.c (is_fe_temp): New function.
548 (create_var): Don't add a temporary for an already
549 created variable or for a constant.
550 (combine_ARRAY_constructor): Remove special handling
553 2014-08-14 Tobias Burnus <burnus@net-b.de>
555 * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
556 (_gfortran_caf_register): Update for locking/critical.
557 (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
558 * resolve.c (resolve_critical): New.
559 (gfc_resolve_code): Call it.
560 * trans-decl.c (gfor_fndecl_caf_critical,
561 gfor_fndecl_caf_end_critical): Remove.
562 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
563 (gfc_build_builtin_function_decls): Remove critical,
564 assign locking declarations.
565 (generate_coarray_sym_init): Handle locking and
567 * trans-stmt.c (gfc_trans_critical): Add calls to
568 lock/unlock libcaf functions.
569 * trans.h (gfc_coarray_type): Update locking, add
570 critical enum values.
571 (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
572 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
574 2014-08-14 Tobias Burnus <burnus@net-b.de>
576 * gfortran.texi (Coarray Programming): Add first ABI
579 2014-08-14 Jakub Jelinek <jakub@redhat.com>
582 * openmp.c (gfc_match_omp_clauses): When failed to match
583 operator name, defined op name or name, set buffer to
584 empty string. Don't call gfc_find_omp_udr if buffer is empty
586 (gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
587 before calling gfc_free_omp_udr.
589 2014-08-11 Richard Biener <rguenther@suse.de>
592 * trans-expr.c (gfc_conv_structure): Initialize _size with
593 a value of proper type.
595 2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
598 * simplify.c (gfc_simplify_dot_product): Convert types of
599 vectors before calculating the result.
601 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
603 * openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
605 2014-07-26 Tobias Burnus <burnus@net-b.de>
610 * intrinsic.texi (SIZEOF): Document changed behavior
611 for polymorphic arrays.
613 2014-07-26 Tobias Burnus <burnus@net-b.de>
618 * check.c (gfc_check_sizeof): Permit for assumed type if and
619 only if it has an array descriptor.
620 * intrinsic.c (do_ts29113_check): Permit SIZEOF.
621 (add_functions): SIZEOF is an Inquiry function.
622 * intrinsic.texi (SIZEOF): Add note that only contiguous
623 arrays are permitted.
624 * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
626 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
627 assumed type + array descriptor, CLASS and assumed rank.
628 (gfc_conv_intrinsic_storage_size): Handle class arrays.
630 2014-07-25 Tobias Burnus <burnus@net-b.de>
632 * simplify.c (gfc_simplify_storage_size): Use proper
633 integer kind for the returned value.
635 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
637 * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
638 correct menu position to match sectioning.
640 2014-06-15 Tobias Burnus <burnus@net-b.de>
642 * symbol.c (check_conflict): Add codimension conflict with
643 pointer; fix cray-pointee check.
645 2014-06-14 Tobias Burnus <burnus@net-b.de>
647 * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
648 for kind mismatch with -fcoarray=lib.
650 2014-07-12 Paul Thomas <pault@gcc.gnu.org>
653 * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
654 that elements are skipped. This then correctly aligns 'reverse'
655 with the scalarizer loops.
657 2014-07-12 Tobias Burnus <burnus@net-b.de>
660 * trans-types.c (gfc_init_types): Fix data-type bug
661 with gfc_max_array_element_size.
663 2014-07-12 Tobias Burnus <burnus@net-b.de>
665 * libgfortran.h (libcaf_atomic_codes): Add.
666 * trans-decl.c (gfor_fndecl_caf_atomic_def,
667 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
668 gfor_fndecl_caf_atomic_op): New variables.
669 (gfc_build_builtin_function_decls): Initialize them.
670 * trans.h (gfor_fndecl_caf_atomic_def,
671 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
672 gfor_fndecl_caf_atomic_op): New variables.
673 * trans-intrinsic.c (conv_intrinsic_atomic_op,
674 conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
675 Add library calls with -fcoarray=lib.
677 2014-07-12 Tobias Burnus <burnus@net-b.de>
679 * check.c (gfc_check_atomic): Update for STAT=.
680 (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
681 (gfc_check_atomic_op, gfc_check_atomic_cas,
682 gfc_check_atomic_fetch_op): New.
683 * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
684 GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
685 GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
686 GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
687 * intrinsic.c (add_subroutines): Handle them.
688 * intrinsic.texi: Add documentation for them.
689 (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
690 (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
691 * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
692 gfc_check_atomic_fetch_op): New
694 * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
695 * iso-fortran-env.def: Add it.
696 * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
697 conv_intrinsic_atomic_ref; handle more atomics.
698 (conv_intrinsic_atomic_def): Handle STAT=.
699 (conv_intrinsic_atomic_cas): New.
700 (gfc_conv_intrinsic_subroutine): Handle new atomics.
702 2014-07-09 Bernd Schmidt <bernds@codesourcery.com>
704 * trans-array.c (gfc_build_constant_array_constructor): Build a
705 static decl manually.
706 * trans-decl.c (create_main_function): Likewise.
708 2014-07-07 Paul Thomas <pault@gcc.gnu.org>
712 * trans-expr.c (fcncall_realloc_result): Use the natural type
713 for the address expression of 'res_desc'.
715 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com>
717 * gfortran.texi (Fortran 2003 status): Fix grammar.
719 2014-07-04 Tobias Burnus <burnus@net-b.de>
721 * resolve.c (resolve_assoc_var): Fix corank setting.
722 * trans-array.c (gfc_conv_descriptor_token): Change assert.
723 for select-type temporaries.
724 * trans-decl.c (generate_coarray_sym_init): Skip for
725 attr.select_type_temporary.
726 * trans-expr.c (gfc_conv_procedure_call): Fix for
727 select-type temporaries.
728 * trans-intrinsic.c (get_caf_token_offset): Ditto.
729 (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
731 * trans-types.h (gfc_get_dtype_rank_type): New.
732 * trans-types.c (gfc_get_dtype_rank_type): Ditto.
734 2014-07-03 Tobias Burnus <burnus@net-b.de>
736 * scanner.c (skip_free_comments): Fix indentation.
738 2014-07-02 Jakub Jelinek <jakub@redhat.com>
739 Fritz Reese <Reese-Fritz@zai.com>
741 * decl.c (variable_decl): Reject old style initialization
742 for derived type components.
744 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
748 * decl.c (check_bind_name_identifier): New function.
749 (gfc_match_bind_c): Match any constant expression as binding
751 * match.c (gfc_match_name_C): Remove.
753 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
756 * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
757 * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
759 * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
760 * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
761 * module.c (mio_symbol): Keep track of symbols which came from
763 (gfc_use_module): Keep track of the IEEE modules.
764 * trans-decl.c (gfc_get_symbol_decl): Adjust code since
765 we have new intrinsic modules.
766 (gfc_build_builtin_function_decls): Build decls for
767 ieee_procedure_entry and ieee_procedure_exit.
768 (is_from_ieee_module, is_ieee_module_used, save_fp_state,
769 restore_fp_state): New functions.
770 (gfc_generate_function_code): Save and restore floating-point
771 state on procedure entry/exit, when IEEE modules are used.
772 * intrinsic.texi: Document the IEEE modules.
774 2014-06-25 Tobias Burnus <burnus@net-b.de>
776 * interface.c (check_intents): Fix diagnostic with
779 2014-06-25 Tobias Burnus <burnus@net-b.de>
781 * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
782 when assigning a coindexed RHS scalar to a noncoindexed LHS
784 * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
785 for a noncoindexed scalar RHS.
787 2014-06-25 Tobias Burnus <burnus@net-b.de>
789 * check.c (check_co_minmaxsum): Add definable check.
790 * expr.c (gfc_check_vardef_context): Fix context == NULL case.
791 * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
793 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
796 2014-06-25 Jakub Jelinek <jakub@redhat.com>
798 * trans.h (gfc_omp_clause_linear_ctor): New prototype.
799 * trans-openmp.c (gfc_omp_linear_clause_add_loop,
800 gfc_omp_clause_linear_ctor): New functions.
801 (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
802 correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
803 * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
805 2014-06-24 Jakub Jelinek <jakub@redhat.com>
807 * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
809 * f95-lang.c (gfc_init_builtin_functions): Initialize
810 BUILT_IN_ASSUME_ALIGNED.
811 * gfortran.h (gfc_omp_namelist): Change udr field type to
812 struct gfc_omp_namelist_udr.
813 (gfc_omp_namelist_udr): New type.
814 (gfc_get_omp_namelist_udr): Define.
815 (gfc_resolve_code): New prototype.
816 * match.c (gfc_free_omp_namelist): Free name->udr.
817 * module.c (intrinsics): Add INTRINSIC_USER.
818 (fix_mio_expr): Likewise.
819 (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
820 * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
821 (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
822 Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
823 (struct resolve_omp_udr_callback_data): New type.
824 (resolve_omp_udr_callback, resolve_omp_udr_callback2,
825 resolve_omp_udr_clause): New functions.
826 (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
828 (omp_udr_callback): Don't check for implicitly declared functions
830 (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
831 implicitly declared subroutines here.
832 * resolve.c (resolve_function): If value.function.isym is non-NULL,
833 consider it already resolved.
834 (resolve_code): Renamed to ...
835 (gfc_resolve_code): ... this. No longer static.
836 (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
838 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
839 by reference type (C_PTR) variables.
840 (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
841 (gfc_trans_omp_udr_expr): Remove.
842 (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
843 Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
844 expand it as assignment or subroutine call. Don't initialize
847 2014-06-23 Tobias Burnus <burnus@net-b.de>
849 * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
850 explicit-size arrays with -fcoarray=lib.
852 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
855 * invoke.texi: Don't mention nonexisting -fcase-lower option.
857 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
860 * expr.c (scalarize_intrinsic_call): Take care of optional
863 2014-06-19 Tobias Burnus <burnus@net-b.de>
865 * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
868 2014-06-18 Tobias Burnus <burnus@net-b.de>
870 * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
871 * intrinsic.texi (OpenMP Modules): Ditto.
873 2014-06-18 Jakub Jelinek <jakub@redhat.com>
875 * cpp.c (cpp_define_builtins): Change _OPENMP macro to
877 * dump-parse-tree.c (show_omp_namelist): Add list_type
878 argument. Adjust for rop being u.reduction_op now,
879 handle depend_op or map_op.
880 (show_omp_node): Adjust callers. Print some new
881 OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
882 becoming a single OMP_LIST_DEPEND.
883 * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
885 (gfc_attribute_table): New variable.
886 (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
887 * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
888 EXEC_OMP_* codes and new clauses.
889 * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
890 ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
891 ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
892 ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
893 ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
894 ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
895 ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
896 ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
897 ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
898 ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
899 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
900 ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
901 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
902 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
903 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
904 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
905 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
906 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
907 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
908 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
909 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
910 (symbol_attribute): Add omp_declare_target field.
911 (gfc_omp_depend_op, gfc_omp_map_op): New enums.
912 (gfc_omp_namelist): Replace rop field with union
913 containing reduction_op, depend_op and map_op.
914 (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
915 (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
916 (gfc_omp_clauses): Add num_teams, device, thread_limit,
917 dist_sched_kind, dist_chunk_size fields.
918 (gfc_common_head): Add omp_declare_target field.
919 (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
920 EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
921 EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
922 EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
923 EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
924 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
925 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
926 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
927 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
928 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
929 EXEC_OMP_TARGET_UPDATE.
930 (gfc_add_omp_declare_target): New prototype.
931 * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
932 gfc_match_omp_distribute_parallel_do,
933 gfc_match_omp_distribute_parallel_do_simd,
934 gfc_match_omp_distribute_simd, gfc_match_omp_target,
935 gfc_match_omp_target_data, gfc_match_omp_target_teams,
936 gfc_match_omp_target_teams_distribute,
937 gfc_match_omp_target_teams_distribute_parallel_do,
938 gfc_match_omp_target_teams_distribute_parallel_do_simd,
939 gfc_match_omp_target_teams_distribute_simd,
940 gfc_match_omp_target_update, gfc_match_omp_teams,
941 gfc_match_omp_teams_distribute,
942 gfc_match_omp_teams_distribute_parallel_do,
943 gfc_match_omp_teams_distribute_parallel_do_simd,
944 gfc_match_omp_teams_distribute_simd): New prototypes.
945 * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
946 (attr_bits): Likewise.
947 (mio_symbol_attribute): Handle omp_declare_target attribute.
948 (gfc_free_omp_clauses): Free num_teams, device, thread_limit
949 and dist_chunk_size expressions.
950 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
951 OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
952 OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
953 OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
954 OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
955 OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
956 OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
957 OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
958 OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
959 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
960 OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
961 OMP_CLAUSE_DIST_SCHEDULE): Define.
962 (gfc_match_omp_clauses): Change mask parameter to unsigned int.
963 Adjust for rop becoming u.reduction_op. Disallow inbranch with
964 notinbranch. For depend clause, always create OMP_LIST_DEPEND
965 and fill in u.depend_op. Handle num_teams, device, map,
966 to, from, thread_limit and dist_schedule clauses.
967 (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
968 OMP_CLAUSE_NOTINBRANCH.
969 (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
970 OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
971 OMP_DISTRIBUTE_CLAUSES): Define.
972 (match_omp): New function.
973 (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
974 gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
975 gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
976 gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
977 gfc_match_omp_task): Rewritten using match_omp.
978 (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
979 Diagnose if the directives are followed by unexpected junk.
980 (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
981 gfc_match_omp_distribute_parallel_do_simd,
982 gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
983 gfc_match_omp_target, gfc_match_omp_target_data,
984 gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
985 gfc_match_omp_target_teams_distribute_parallel_do,
986 gfc_match_omp_target_teams_distribute_parallel_do_simd,
987 gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
988 gfc_match_omp_teams, gfc_match_omp_teams_distribute,
989 gfc_match_omp_teams_distribute_parallel_do,
990 gfc_match_omp_teams_distribute_parallel_do_simd,
991 gfc_match_omp_teams_distrbute_simd): New functions.
992 * openmp.c (resolve_omp_clauses): Adjust for
993 OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle
994 OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
995 dist_chunk_size and thread_limit.
996 (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
997 ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various
998 new EXEC_OMP_* codes.
999 (resolve_omp_do): Handle various new EXEC_OMP_* codes.
1000 (gfc_resolve_omp_directive): Likewise.
1001 (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
1002 * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
1003 offloading related directives.
1004 (case_executable): Add ST_OMP_TARGET_UPDATE.
1005 (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
1007 (case_decl): Add ST_OMP_DECLARE_TARGET.
1008 (gfc_ascii_statement): Handle new ST_OMP_* codes.
1009 (parse_omp_do): Handle various new ST_OMP_* codes.
1010 (parse_executable): Likewise.
1011 * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
1013 (resolve_code): Likewise.
1014 (resolve_symbol): Change that !$OMP DECLARE TARGET variables
1016 * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
1017 * symbol.c (check_conflict): Check omp_declare_target conflicts.
1018 (gfc_add_omp_declare_target): New function.
1019 (gfc_copy_attr): Copy omp_declare_target.
1020 * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
1021 * trans-common.c (build_common_decl): Add "omp declare target"
1022 attribute if needed.
1023 * trans-decl.c (add_attributes_to_decl): Likewise.
1024 * trans.h (gfc_omp_finish_clause): New prototype.
1025 * trans-openmp.c (gfc_omp_finish_clause): New function.
1026 (gfc_trans_omp_reduction_list): Adjust for rop being renamed
1028 (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
1029 change to OMP_LIST_DEPEND and fix up depend handling.
1030 Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
1031 thread_limit, device, dist_chunk_size and dist_sched_kind.
1032 (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
1033 (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
1034 GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
1035 GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
1036 (gfc_split_omp_clauses): Handle splitting of clauses for new
1038 (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
1039 callable for combined constructs.
1040 (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
1041 (gfc_trans_omp_distribute, gfc_trans_omp_teams,
1042 gfc_trans_omp_target, gfc_trans_omp_target_data,
1043 gfc_trans_omp_target_update): New functions.
1044 (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
1045 new EXEC_OMP_* codes.
1047 2014-06-18 Tobias Burnus <burnus@net-b.de>
1050 * invoke.texi (-Wunused-parameter): Make clearer when
1051 -Wextra implies this option.
1053 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1056 * options.c (gfc_handle_option): Remove call to
1057 handle_generated_option.
1059 2014-06-17 Tobias Burnus <burnus@net-b.de>
1061 * check.c (gfc_check_atomic, gfc_check_atomic_def):
1062 Use argument for GFC_ISYM_CAF_GET.
1063 * resolve.c (resolve_variable): Enable CAF_GET insertion.
1064 (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
1065 (resolve_ordinary_assign): Enable CAF_SEND insertion.
1066 * trans-const.c (gfc_build_string_const,
1067 gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
1068 * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
1069 gfor_fndecl_caf_sendget): New global variables.
1070 (gfc_build_builtin_function_decls): Initialize them;
1071 update co_min/max/sum initialization.
1072 * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
1073 get_tree_for_caf_expr and removed static.
1074 (gfc_conv_procedure_call): Update call.
1075 * trans-intrinsic.c (caf_get_image_index,
1076 conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
1077 get_caf_token_offset, gfc_conv_intrinsic_caf_get,
1078 conv_caf_send): New.
1079 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
1080 gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
1081 (conv_co_minmaxsum): Update call for remove unused vector
1083 (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
1084 Skip a CAF_GET of the argument.
1085 * trans-types.c (gfc_get_caf_vector_type): New.
1086 * trans-types.h (gfc_get_caf_vector_type): New.
1087 * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
1088 gfor_fndecl_caf_sendget): New global variables.
1089 (gfc_get_tree_for_caf_expr): New prototypes.
1091 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
1093 * trans-common.c (build_common_decl): Use
1095 * trans-decl.c (gfc_finish_var_decl): Likewise.
1096 (get_proc_pointer_decl): Likewise.
1098 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1102 * check.c (gfc_check_system_clock): Improve checking of arguments.
1103 * intrinsic.texi: Update doc of SYSTEM_CLOCK.
1104 * iresolve.c (gfc_resolve_system_clock): Choose library function
1105 used depending on argument kinds.
1106 * trans-decl.c (gfc_build_intrinsic_function_decls): Build
1107 decls for system_clock_4 and system_clock_8.
1108 * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
1109 (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
1110 * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
1113 2014-06-12 Tobias Burnus <burnus@net-b.de>
1115 * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
1116 * symbol.c (gfc_copy_formal_args_intr): Handle the case
1117 that absent optional arguments should be ignored.
1118 * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
1119 (gfc_conv_intrinsic_funcall,
1120 conv_generic_with_optional_char_arg): Update call.
1121 * resolve.c (gfc_resolve_intrinsic): Ditto.
1123 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr>
1124 Mikael Morin <mikael@gcc.gnu.org>
1127 * trans-expr.c (gfc_conv_expr_reference): Deallocate array
1130 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1133 * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
1135 * openmp.c (resolve_omp_clauses): Remove allocatable components
1136 diagnostics. Add associate-name and intent(in) pointer
1137 diagnostics for various clauses, diagnose procedure pointers in
1139 * parse.c (match_word_omp_simd): New function.
1140 (matchs, matcho): New macros.
1141 (decode_omp_directive): Change match macros to either matchs
1142 or matcho. Handle -fopenmp-simd.
1143 (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
1144 * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
1146 * trans-array.c (get_full_array_size): Rename to...
1147 (gfc_full_array_size): ... this. No longer static.
1148 (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument
1150 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
1151 duplicate_allocatable callers.
1152 (gfc_duplicate_allocatable_nocopy): New function.
1153 (structure_alloc_comps): Adjust g*_full_array_size and
1154 duplicate_allocatable caller.
1155 * trans-array.h (gfc_full_array_size,
1156 gfc_duplicate_allocatable_nocopy): New prototypes.
1157 * trans-common.c (create_common): Call gfc_finish_decl_attrs.
1158 * trans-decl.c (gfc_finish_decl_attrs): New function.
1159 (gfc_finish_var_decl, create_function_arglist,
1160 gfc_get_fake_result_decl): Call it.
1161 (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
1162 don't allocate it again.
1163 (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
1165 * trans.h (gfc_finish_decl_attrs): New prototype.
1166 (struct lang_decl): Add scalar_allocatable and scalar_pointer
1168 (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
1169 GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
1170 GFC_DECL_ASSOCIATE_VAR_P): Define.
1171 (GFC_POINTER_TYPE_P): Remove.
1172 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
1173 GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
1174 GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
1175 (gfc_omp_predetermined_sharing): Associate-names are predetermined.
1176 (enum walk_alloc_comps): New.
1177 (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
1178 gfc_walk_alloc_comps): New functions.
1179 (gfc_omp_private_outer_ref): Return true for scalar allocatables or
1180 decls with allocatable components.
1181 (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
1182 gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
1183 allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
1184 allocatables and decls with allocatable components.
1185 (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
1187 (gfc_trans_omp_reduction_list): Call
1188 gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
1189 (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
1190 (gfc_trans_omp_parallel_do_simd): Likewise.
1191 * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
1192 (gfc_get_derived_type): Call gfc_finish_decl_attrs.
1194 2014-06-09 Paul Thomas <pault@gcc.gnu.org>
1197 * trans-stmt.c (trans_associate_var): Check that array
1198 constructors are constant for direct reference.
1200 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1203 * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
1204 BESSEL_Y0, and BESSEL_Y1.
1206 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1209 * trans-decl.c (gfc_create_module_variable): Don't create
1210 Cray-pointee decls twice.
1212 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1214 * io.c (resolve_tag): Warn on non-default kind for NUMBER,
1215 NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
1217 2014-06-06 Jakub Jelinek <jakub@redhat.com>
1219 * dump-parse-tree.c (show_omp_namelist): Dump reduction
1220 id in each list item.
1221 (show_omp_node): Only handle OMP_LIST_REDUCTION, not
1222 OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't
1223 dump reduction id here.
1224 * frontend-passes.c (dummy_code_callback): Renamed to...
1225 (gfc_dummy_code_callback): ... this. No longer static.
1226 (optimize_reduction): Use gfc_dummy_code_callback instead of
1227 dummy_code_callback.
1228 * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
1229 (symbol_attribute): Add omp_udr_artificial_var bitfield.
1230 (gfc_omp_reduction_op): New enum.
1231 (gfc_omp_namelist): Add rop and udr fields.
1232 (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
1233 OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
1234 OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
1235 OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
1236 (OMP_LIST_REDUCTION): New.
1237 (gfc_omp_udr): New type.
1238 (gfc_get_omp_udr): Define.
1239 (gfc_symtree): Add n.omp_udr field.
1240 (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
1241 (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
1242 gfc_dummy_code_callback): New prototypes.
1243 * match.h (gfc_match_omp_declare_reduction): New prototype.
1244 * module.c (MOD_VERSION): Increase to 13.
1245 (omp_declare_reduction_stmt): New array.
1246 (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
1248 (read_module): Read OpenMP user defined reductions.
1249 (write_module): Write OpenMP user defined reductions.
1250 * openmp.c: Include arith.h.
1251 (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
1252 (gfc_match_omp_clauses): Handle user defined reductions.
1253 Store reduction kind into gfc_omp_namelist instead of using
1254 several OMP_LIST_* entries.
1255 (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
1256 gfc_match_omp_declare_reduction): New functions.
1257 (resolve_omp_clauses): Adjust for reduction clauses being only
1258 in OMP_LIST_REDUCTION list. Diagnose missing UDRs.
1259 (struct omp_udr_callback_data): New type.
1260 (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
1262 * parse.c (decode_omp_directive): Handle !$omp declare reduction.
1263 (case_decl): Add ST_OMP_DECLARE_REDUCTION.
1264 (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
1265 * resolve.c (resolve_fl_variable): Allow len=: or len=* on
1266 sym->attr.omp_udr_artificial_var symbols.
1267 (resolve_types): Call gfc_resolve_omp_udrs.
1268 * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
1269 use parent ns instead of gfc_current_ns.
1270 (gfc_get_sym_tree): Don't insert symbols into
1271 namespaces with omp_udr_ns set.
1272 (free_omp_udr_tree): New function.
1273 (gfc_free_namespace): Call it.
1274 * trans-openmp.c (struct omp_udr_find_orig_data): New type.
1275 (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
1276 (gfc_trans_omp_array_reduction): Renamed to...
1277 (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM
1278 argument, instead pass gfc_omp_namelist pointer N. Handle
1279 user defined reductions.
1280 (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
1281 Handle user defined reductions and reduction ops in gfc_omp_namelist.
1282 (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
1284 (gfc_split_omp_clauses): Likewise.
1286 2014-06-05 Richard Biener <rguenther@suse.de>
1289 * gfortranspec.c (spec_file): Remove.
1290 (find_spec_file): Likewise.
1291 (lang_specific_driver): Do not look for specs file in -L
1292 or append -specs command line argument.
1293 (lang_specific_pre_link): Always %:include libgfortran.spec.
1295 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
1297 * fortran/trans.c (trans_runtime_error_vararg): Call
1298 fold_build_call_array_loc instead of fold_builtin_call_array.
1300 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
1302 * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
1303 arguments to caf_init.
1305 2014-05-26 Tobias Burnus <burnus@net-b.de>
1307 * gfortran.texi (Project Status): Fix broken link.
1309 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
1312 * intrinsics.texi (CTIME): Remove mention of locale-dependent
1315 2014-05-26 Tobias Burnus <burnus@net-b.de>
1318 * trans-io.c (nml_full_name, transfer_namelist_element): Insert
1319 a '+' rather then '%' to differentiate namelist variable names
1320 that are based on extended derived types.
1322 2014-05-25 Tobias Burnus <burnus@net-b.de>
1324 * check.c (gfc_check_num_images): New.
1325 (gfc_check_this_image): Handle distance argument.
1326 * intrinsic.c (add_functions): Update this_image and num_images
1327 for new distance and failed arguments.
1328 * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
1330 * intrinsic.h (gfc_check_num_images): New.
1331 (gfc_check_this_image, gfc_simplify_num_images,
1332 gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
1333 * iresolve.c (gfc_resolve_this_image): Handle distance argument.
1334 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
1335 Handle new arguments.
1336 * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
1337 (gfc_conv_intrinsic_function): Update trans_num_images call.
1339 2014-05-23 Tobias Burnus <burnus@net-b.de>
1341 * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
1342 * gfortran.texi: Ditto.
1344 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1346 * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1347 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1348 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1349 * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1351 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1353 * f95-lang.c (pushlevel): Adjust.
1354 * trans-decl.c (gfc_allocate_lang_decl): Adjust.
1355 (gfc_find_module): Likewise.
1356 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1357 (gfc_get_array_type_bounds): Likewise.
1358 (gfc_nonrestricted_type): Likewise.
1359 * trans.h: Don't use variable_size gty attribute.
1361 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
1363 * check.c (gfc_check_fn_rc2008): move "argument" to the right
1366 2014-05-12 Tobias Burnus <burnus@net-b.de>
1369 * openmp.c (resolve_omp_do): Reject do concurrent loops.
1371 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1374 * frontend-passes.c (in_assoc_list): New variable.
1375 (optimize_namespace): Initialize in_assoc_list
1376 (combine_array_constructor): Don't try to combine
1378 (gfc_code_walker): Keep track of in_assoc_list.
1380 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1382 * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
1383 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1384 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1385 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1386 ST_OMP_DECLARE_SIMD.
1387 (gfc_omp_namelist): New typedef.
1388 (gfc_get_omp_namelist): Define.
1389 (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
1390 OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
1391 (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
1392 (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
1393 Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
1394 simdlen_expr fields.
1395 (gfc_omp_declare_simd): New typedef.
1396 (gfc_get_omp_declare_simd): Define.
1397 (gfc_namespace): Add omp_declare_simd field.
1398 (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1399 EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
1400 EXEC_OMP_PARALLEL_DO_SIMD.
1401 (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
1402 and GFC_OMP_ATOMIC_SWAP.
1403 (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
1404 (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
1405 gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
1407 * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
1408 * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
1409 * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
1410 simdlen_expr. Use gfc_free_omp_namelist instead of
1412 (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
1414 (gfc_match_omp_variable_list): Add end_colon, headp and
1415 allow_sections arguments. Handle parsing of array sections.
1416 Use *omp_namelist* instead of *namelist* data structure and
1417 functions/macros. Allow termination at : character.
1418 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
1419 OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
1420 OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
1421 (gfc_match_omp_clauses): Change first and needs_space variables
1422 into arguments with default values. Parse inbranch, notinbranch,
1423 proc_bind, safelen, simdlen, uniform, linear, aligned and
1425 (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
1426 (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
1427 (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
1428 (gfc_match_omp_do_simd): New function.
1429 (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
1430 data structure and functions/macros.
1431 (gfc_match_omp_simd, gfc_match_omp_declare_simd,
1432 gfc_match_omp_parallel_do_simd): New functions.
1433 (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
1434 (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
1435 gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
1437 (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
1438 Use *omp_namelist* instead of *namelist* data structure and
1439 functions/macros. Resolve uniform, aligned, linear, depend,
1440 safelen and simdlen clauses.
1441 (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
1442 addition, recognize atomic swap.
1443 (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
1444 of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
1445 EXEC_OMP_PARALLEL_DO.
1446 (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
1447 data structure and functions/macros.
1448 (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1449 EXEC_OMP_PARALLEL_DO_SIMD.
1450 (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1451 EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
1452 resolve_omp_clauses caller.
1453 (gfc_resolve_omp_declare_simd): New function.
1454 * parse.c (decode_omp_directive): Parse cancellation point, cancel,
1455 declare simd, end do simd, end simd, end parallel do simd,
1456 end taskgroup, parallel do simd, simd and taskgroup directives.
1457 (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
1458 (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
1459 ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
1460 (case_decl): Add ST_OMP_DECLARE_SIMD.
1461 (gfc_ascii_statement): Handle ST_OMP_CANCEL,
1462 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1463 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1464 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1465 ST_OMP_DECLARE_SIMD.
1466 (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
1467 ST_OMP_PARALLEL_DO_SIMD.
1468 (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
1469 (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
1470 ST_OMP_PARALLEL_DO_SIMD.
1471 (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
1472 ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
1473 * trans-decl.c (gfc_get_extern_function_decl,
1474 gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
1476 * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
1477 EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
1478 safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
1479 of depend, aligned and linear clauses.
1480 * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
1481 and EXEC_OMP_PARALLEL_DO_SIMD.
1482 (gfc_free_omp_namelist): New function.
1483 * dump-parse-tree.c (show_namelist): Removed.
1484 (show_omp_namelist): New function.
1485 (show_omp_node): Handle OpenMP 4.0 additions.
1486 (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1487 EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
1489 * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
1490 gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
1491 gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
1492 gfc_match_omp_taskgroup): New prototypes.
1493 * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
1494 argument, handle it. Allow current_function_decl to be NULL.
1495 (gfc_trans_omp_variable_list): Add declare_simd argument, pass
1496 it through to gfc_trans_omp_variable and disregard whether
1497 sym is referenced if declare_simd is true. Work on gfc_omp_namelist
1498 instead of gfc_namelist.
1499 (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
1500 gfc_namelist. Adjust gfc_trans_omp_variable caller.
1501 (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
1502 to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
1503 instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
1504 simdlen, depend, uniform, linear, proc_bind and aligned clauses.
1506 (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
1507 adjust for GFC_OMP_ATOMIC_* changes.
1508 (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
1510 (gfc_trans_omp_do): Add op argument, handle simd translation into
1512 (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
1513 GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
1514 GFC_OMP_MASK_PARALLEL): New.
1515 (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
1516 (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
1517 (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
1519 (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
1520 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1521 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1522 Adjust gfc_trans_omp_do caller.
1523 (gfc_trans_omp_declare_simd): New function.
1524 * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
1525 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1526 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1527 For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
1529 * module.c (omp_declare_simd_clauses): New variable.
1530 (mio_omp_declare_simd): New function.
1531 (mio_symbol): Call it.
1532 * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
1533 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1534 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1535 * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
1536 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1537 (resolve_code): Handle EXEC_OMP_CANCEL,
1538 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1539 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1540 (resolve_types): Call gfc_resolve_omp_declare_simd.
1542 2014-05-11 Tobias Burnus <burnus@net-b.de>
1544 * trans-intrinsic.c (gfc_build_builtin_function_decls):
1545 Change type of second argument to int.
1547 2014-05-09 Mike Stump <mikestump@comcast.net>
1550 * trans-array.c (gfc_conv_array_initializer): Fix wide-int
1553 2014-05-08 Tobias Burnus <burnus@net-b.de>
1555 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
1556 and GFC_ISYM_CAF_SEND.
1557 * intrinsic.c (add_functions): Add only internally
1558 accessible caf_get and caf_send functions.
1559 * resolve.c (add_caf_get_intrinsic,
1560 remove_caf_get_intrinsic): New functions.
1561 (resolve_variable): Resolve expression rank and
1562 prepare for add_caf_get_intrinsic call.
1563 (gfc_resolve_expr): For variables, remove rank
1565 (resolve_ordinary_assign): Prepare call to
1567 (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
1568 the LHS of an assignment.
1570 2014-05-08 Tobias Burnus <burnus@net-b.de>
1572 * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
1574 2014-05-08 Tobias Burnus <burnus@net-b.de>
1576 * check.c (check_co_minmaxsum, gfc_check_co_minmax,
1577 gfc_check_co_sum): New.
1578 * error.c (gfc_notify_std): Update -std=f2008ts.
1579 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
1580 GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
1581 * intrinsic.h (gfc_check_co_minmax,
1582 gfc_check_co_sum): Declare.
1583 * intrinsic.c (add_subroutines): Add co_min, co_max
1585 (gfc_check_intrinsic_standard): Update text for
1587 * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
1589 * invoke.texi (-std=f2008ts): Update wording.
1590 * trans.h (gfor_fndecl_co_max,
1591 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1592 * trans-decl.c (gfor_fndecl_co_max,
1593 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1594 (gfc_build_builtin_function_decls): Assign to it.
1595 * trans-intrinsic.c (conv_co_minmaxsum): New.
1596 (gfc_conv_intrinsic_subroutine): Call it.
1598 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1599 Mike Stump <mikestump@comcast.net>
1600 Richard Sandiford <rdsandiford@googlemail.com>
1602 * target-memory.c: Include wide-int.h.
1603 (gfc_interpret_logical): Use wide-int interfaces.
1604 * trans-array.c: Include wide-int.h.
1605 (gfc_conv_array_initializer): Use wide-int interfaces.
1606 * trans-const.c: Include wide-int.h.
1607 (gfc_conv_string_init): Use wide-int interfaces.
1608 (gfc_conv_mpz_to_tree): Likewise.
1609 (gfc_conv_tree_to_mpz): Likewise.
1610 * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
1611 * trans-expr.c: Include wide-int.h.
1612 (gfc_conv_cst_int_power): Use wide-int interfaces.
1613 (gfc_string_to_single_character): Likewise.
1614 (gfc_optimize_len_trim): Likewise.
1615 * trans-intrinsic.c: Include wide-int.h.
1616 (trans_this_image): Use wide-int interfaces.
1617 (gfc_conv_intrinsic_bound): Likewise.
1618 (conv_intrinsic_cobound): Likewise.
1619 * trans-types.c (gfc_init_types): Likewise.
1620 (gfc_get_array_type_bounds): Pass an integer of the correct type
1621 instead of using integer_one_node.
1623 2014-04-30 Tobias Burnus <burnus@net-b.de>
1625 * trans-decl.c (create_function_arglist): Add hidden coarray arguments
1626 also for polymorphic coarrays.
1627 * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
1628 also for polymorphic coarrays.
1630 2014-04-30 Tobias Burnus <burnus@net-b.de>
1632 * resolve.c (resolve_function): Don't do
1633 assumed-size check for lcobound/ucobound.
1634 * trans-types.c (gfc_build_array_type): Only build an array
1635 descriptor with codimensions for allocatable coarrays.
1637 2014-04-30 Tobias Burnus <burnus@net-b.de>
1639 * gfortran.h (gfc_init_coarray_decl): Remove.
1640 * parse.c (translate_all_program_units): Remove call to it.
1641 (gfc_parse_file): Update call.
1642 * trans.h (gfor_fndecl_caf_this_image,
1643 gfor_fndecl_caf_num_images): Add.
1644 (gfort_gvar_caf_num_images,
1645 gfort_gvar_caf_this_image): Remove.
1646 * trans-decl.c (gfor_fndecl_caf_this_image,
1647 gfor_fndecl_caf_num_images): Add.
1648 (gfort_gvar_caf_num_images,
1649 gfort_gvar_caf_this_image): Remove.
1650 (gfc_build_builtin_function_decls): Init new decl.
1651 (gfc_init_coarray_dec): Remove.
1652 (create_main_function): Change calls.
1653 * trans-intrinsic.c (trans_this_image, trans_image_index,
1654 conv_intrinsic_cobound): Generate call to new library function
1655 instead of to a static variable.
1656 * trans-stmt.c (gfc_trans_sync): Ditto.
1658 2014-04-30 Tobias Burnus <burnus@net-b.de>
1660 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
1661 and derived-type coarrays.
1663 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1667 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
1668 * arith.c (gfc_int2int): Convert number to signed if
1669 arithmetic overflow is not checked.
1670 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
1671 size if range checking is in force.
1672 (convert_mpz_to_signed): Make non-static, rename to
1673 (gfc_convert_mpz_to_signed).
1674 (simplify_dshift): Use gfc_convert_mpz_to_signed.
1675 (gfc_simplify_ibclr): Likewise.
1676 (gfc_simplify_ibits): Likewise.
1677 (gfc_simplify_ibset): Likewise.
1678 (simplify_shift): Likewise.
1679 (gfc_simplify_ishiftc): Likewise.
1680 (gfc_simplify_maskr): Likewise.
1681 (gfc_simplify_maskl): Likewise.
1683 2014-04-22 Tobias Burnus <burnus@net-b.de>
1686 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
1689 2014-04-17 Jakub Jelinek <jakub@redhat.com>
1691 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
1692 argument is enum machine_mode.
1694 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
1698 * trans.h: Add 'use_offset' bitfield to gfc_se.
1699 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
1700 as a trigger to unconditionally recalculate the offset for
1701 array slices and constant arrays.
1702 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
1703 trans-stmt.c (trans_associate_var): Ditto.
1704 (gfc_conv_procedure_call): Ditto.
1706 2014-04-11 Tobias Burnus <burnus@net-b.de>
1710 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
1711 and finalization wrappers are generated.
1713 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
1715 * intrinsic.texi (RANDOM_SEED): Improve example.
1717 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
1719 * class.c (gfc_build_class_symbol): Append "_t" to target class
1720 names to make the generated type names unique.
1722 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1725 * trans-types.c (gfc_get_function_type): In case of recursion
1726 build a variadic function type with empty argument list instead of a
1727 stdarg-like function type with incomplete argument list.
1729 2014-04-04 Tobias Burnus <burnus@net-b.de>
1731 * check.c (gfc_check_cmplx): Fix typo.
1733 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1734 Tobias Burnus <burnus@net-b.de>
1737 * trans-expr.c (gfc_conv_derived_to_class): Avoid
1738 generation of out-of-bounds range expr.
1740 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1743 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
1746 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1749 * frontend-passes.c (cfe_code): Do not walk subtrees
1752 2014-03-27 Tobias Burnus <burnus@net-b.de>
1755 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
1758 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
1761 * fortran.texi: Document Volatile COMMON as not supported.
1763 2014-03-22 Jakub Jelinek <jakub@redhat.com>
1766 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
1769 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1772 * gfortran.texi: Add description of namelist DELIM= behavior.
1774 2014-03-19 Tobias Burnus <burnus@net-b.>
1777 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
1778 * resolve.c (resolve_ordinary_assign): Ditto.
1780 2014-03-19 Tobias Burnus <burnus@net-b.de>
1784 * gfortran.h (gfc_unset_implicit_pure): New prototype.
1785 * resolve.c (gfc_unset_implicit_pure): New.
1786 (resolve_structure_cons, resolve_function,
1787 pure_subroutine): Use it.
1788 * decl.c (match_old_style_init, gfc_match_data,
1789 match_pointer_init, variable_decl): Ditto.
1790 * expr.c (gfc_check_pointer_assign): Ditto.
1791 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
1792 * io.c (match_vtag, gfc_match_open, gfc_match_close,
1793 match_filepos, gfc_match_inquire, gfc_match_print,
1794 gfc_match_wait): Ditto.
1795 * match.c (gfc_match_critical, gfc_match_stopcode,
1796 lock_unlock_statement, sync_statement, gfc_match_allocate,
1797 gfc_match_deallocate): Ditto.
1798 * parse.c (decode_omp_directive): Ditto.
1799 * symbol.c (gfc_add_save): Ditto.
1801 2014-03-18 Janus Weil <janus@gcc.gnu.org>
1805 * decl.c (match_attr_spec): Revert r208590.
1807 2014-03-18 Jakub Jelinek <jakub@redhat.com>
1810 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
1813 2014-03-18 Tobias Burnus <burnus@net-b.de>
1816 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
1817 (gfc_trans_io_runtime_check): Remove.
1818 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
1819 as argument, add predictor to block.
1820 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
1821 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
1822 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
1823 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
1824 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
1826 * trans-expr.c (gfc_conv_procedure_call): Ditto.
1827 * trans-stmt.c (gfc_trans_allocate): Ditto.
1828 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
1830 2014-03-15 Janus Weil <janus@gcc.gnu.org>
1833 * decl.c (match_attr_spec): Variables in the main program implicitly
1834 get the SAVE attribute in Fortran 2008.
1836 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
1839 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
1840 if it has transposed dimensions.
1842 2014-03-08 Tobias Burnus <burnus@net-b.de>
1845 * f95-lang.c (gfc_init): Return false when only
1847 * options.c (gfc_post_options): Ditto.
1849 2014-03-08 Tobias Burnus <burnus@net-b.de>
1851 * gfortran.texi (Fortran 2003 Status): Mention finalization,
1852 deferred-length character support and input rounding.
1853 (Fortran 2008 Status): Mention that at termination
1854 signalling exceptions are shown.
1856 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
1857 Janus Weil <janus@gcc.gnu.org>
1860 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
1861 * primary.c (build_actual_constructor): It is not an error if
1862 a missing component has the deferred_parameter attribute;
1863 equally, if one is given a value, it is an error.
1864 * resolve.c (resolve_fl_derived0): Remove error for deferred
1865 character length components. Add the hidden string length
1866 field to the structure. Give it the deferred_parameter
1868 * trans-array.c (duplicate_allocatable): Add a strlen field
1869 which is used as the element size if it is non-null.
1870 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
1871 NULL to the new argument in duplicate_allocatable.
1872 (structure_alloc_comps): Set the hidden string length as
1873 appropriate. Use it in calls to duplicate_allocatable.
1874 (gfc_alloc_allocatable_for_assignment): When a deferred length
1875 backend declaration is variable, use that; otherwise use the
1876 string length from the expression evaluation.
1877 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
1878 character length component, the string length should have the
1879 value of the hidden string length field.
1880 (gfc_trans_subcomponent_assign): Set the hidden string length
1881 field for deferred character length components. Allocate the
1882 necessary memory for the string.
1883 (alloc_scalar_allocatable_for_assignment): Same change as in
1884 gfc_alloc_allocatable_for_assignment above.
1885 * trans-stmt.c (gfc_trans_allocate): Likewise.
1886 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
1887 * trans-types.c (gfc_get_derived_type): Set the tree type for
1888 a deferred character length component.
1889 * trans.c (gfc_deferred_strlen): New function.
1890 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
1892 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
1895 * frontend-passes.c (optimize_comparison): Guard two union accesses
1896 with the corresponding tag checks.
1898 2014-02-28 Janus Weil <janus@gcc.gnu.org>
1901 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
1902 procedure for characters.
1904 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1907 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
1910 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1913 * gfortran.h (gfc_build_class_symbol): Removed argument.
1914 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
1915 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
1916 delayed now, except for unlimited polymorphics.
1917 (comp_is_finalizable): Procedure pointer components are not finalizable.
1918 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
1919 'gfc_build_class_symbol'.
1920 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
1922 * symbol.c (gfc_set_default_type): Ditto.
1924 2014-02-19 Janus Weil <janus@gcc.gnu.org>
1927 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
1928 functions, which are used as procedure pointer target.
1930 2014-02-18 Tobias Burnus <burnus@net-b.de>
1933 * expr.c (gfc_check_pointer_assign): Add check for
1935 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
1936 decl in a corner case.
1938 2014-02-18 Janus Weil <janus@gcc.gnu.org>
1941 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
1942 arguments to prevent ICE.
1944 2014-02-17 Janus Weil <janus@gcc.gnu.org>
1947 * resolve.c (build_default_init_expr): Don't initialize character
1948 variable if -fno-automatic is given.
1950 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
1953 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
1954 number of arguments.
1956 2014-02-11 Jakub Jelinek <jakub@redhat.com>
1959 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
1960 on decl if sym->attr.optional.
1962 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1965 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
1966 attribute for the 'associate-name' if necessary.
1967 * trans-stmt.c (trans_associate_var): If the 'associate-name'
1968 is a subref_array_pointer, assign the element size of the
1969 associate variable to 'span'.
1971 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1974 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
1975 actual argument to a formal argument with the value attribute
1976 in an elemental procedure.
1978 2014-02-08 Janus Weil <janus@gcc.gnu.org>
1979 Mikael Morin <mikael.morin@gcc.gnu.org>
1982 * class.c (generate_finalization_wrapper): Assert that proc_tree has
1983 been set in gfc_resolve_finalizers.
1984 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
1987 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
1989 PR translation/52289
1990 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
1991 in an error message.
1993 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
1996 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
1999 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
2002 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
2003 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
2004 pointer to the string is stored.
2005 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
2006 gfc_conv_string_parameter to ensure that a pointer to is passed
2007 to the elemental function.
2009 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
2012 * trans-stmt.c (gfc_trans_allocate): Before the pointer
2013 assignment to transfer the source _vptr to a class allocate
2014 expression, the final class reference should be exposed. The
2015 tail that includes the _data and array references is stored.
2016 This reduced expression is transferred to 'lhs' and the _vptr
2017 added. Then the tail is restored to the allocate expression.
2019 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
2022 * module.c (read_module): Assert for component name correctness.
2024 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
2027 * module.c (MOD_VERSION): Bump.
2028 (fp2, find_pointer2): Remove.
2029 (mio_component_ref): Don't forcedfully set the containing derived type
2030 symbol for loading. Remove unused argument.
2031 (mio_ref): Update caller
2032 (mio_symbol): Dump component list earlier.
2033 (skip_list): New argument nest_level. Initialize level with the new
2035 (read_module): Add forced pointer components association for derived
2038 2014-01-12 Janus Weil <janus@gcc.gnu.org>
2041 * decl.c (gfc_match_data_decl): Improve error recovery.
2043 2014-01-09 Tobias Burnus <burnus@net-b.de>
2045 * cpp.c (gfc_cpp_handle_option): Add missing break.
2046 * trans-io.c (transfer_expr): Silence unused value warning.
2048 2014-01-08 Janus Weil <janus@gcc.gnu.org>
2051 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
2053 2014-01-06 Janus Weil <janus@gcc.gnu.org>
2056 * class.c (comp_is_finalizable): New function to dermine if a given
2057 component is finalizable.
2058 (finalize_component, generate_finalization_wrapper): Use it.
2060 2014-01-06 Janus Weil <janus@gcc.gnu.org>
2064 * resolve.c (resolve_global_procedure): Don't apply to c-binding
2066 (gfc_verify_binding_labels): Remove duplicate line.
2068 2014-01-04 Janus Weil <janus@gcc.gnu.org>
2071 * class.c (add_proc_comp): Copy pure attribute.
2073 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2075 Update copyright years
2077 2014-01-02 Tobias Burnus <burnus@net-b.de>
2079 * gfortranspec.c (lang_specific_driver): Update copyright notice
2081 * gfc-internals.texi: Bump @copying's copyright year.
2082 * gfortran.texi: Ditto.
2083 * intrinsic.texi: Ditto.
2084 * invoke.texi: Ditto.
2086 2014-01-02 Janus Weil <janus@gcc.gnu.org>
2089 * resolve.c (resolve_typebound_procedures): No need to create the vtab
2092 Copyright (C) 2014 Free Software Foundation, Inc.
2094 Copying and distribution of this file, with or without modification,
2095 are permitted in any medium without royalty provided the copyright
2096 notice and this notice are preserved.