1 2014-11-15 Tobias Burnus <burnus@net-b.de>
3 * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
4 (gfc_fatal_error): Add; uses common diagnostics.
5 * array.c (gfc_match_array_ref, gfc_match_array_spec): Use
7 * check.c (check_co_collective, gfc_check_lcobound,
8 gfc_check_image_index, gfc_check_num_images,
9 gfc_check_this_image, gfc_check_ucobound): Ditto.
10 * cpp.c (gfc_cpp_post_options): Ditto.
11 (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
12 * gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
13 * gfortran.h (gfc_fatal_error_1): Add.
14 * match.c (gfc_match_name, gfc_match_critical,
15 lock_unlock_statement, sync_statement): Add %< %>.
16 * module.c (bad_module, gfc_dump_module, gfc_use_module): Change
18 * options.c (gfc_handle_module_path_options, gfc_handle_fpe_option,
19 gfc_handle_coarray_option, gfc_handle_runtime_check_option,
20 gfc_handle_option): Add %< %>.
21 * simplify.c (gfc_simplify_num_images): Ditto.
22 * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
23 * trans-array.c (gfc_conv_array_initializer): Ditto.
24 * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
25 of fatal_error; add %< %> quotations.
27 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
28 Thomas Schwinge <thomas@codesourcery.com>
29 Ilya Verbin <ilya.verbin@intel.com>
30 Andrey Turetskiy <andrey.turetskiy@intel.com>
32 * Make-lang.in (fortran.install-common): Do not install for the offload
35 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
38 * gfortran.h (warn_use_without_only): Remove.
39 (gfc_diagnostics_finish): Declare.
40 * error.c: Include tree-diagnostics.h
41 (gfc_format_decoder): New.
42 (gfc_diagnostics_init): Use gfc_format_decoder. Set default caret
44 (gfc_diagnostics_finish): Restore tree diagnostics defaults, but
45 keep gfc_diagnostics_starter and finalizer. Restore default caret.
46 * options.c: Remove all uses of warn_use_without_only.
47 * lang.opt (Wuse-without-only): Add Var.
48 * f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish.
49 * module.c (gfc_use_module): Use gfc_warning_now_2.
50 * parse.c (decode_statement): Likewise.
51 (decode_gcc_attribute): Likewise.
52 (next_free): Likewise.
53 (next_fixed): Likewise.
55 2014-11-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
58 * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.
60 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
64 * gfortran.texi: Add note about locale issues to thread-safety
67 2014-11-04 Bernd Schmidt <bernds@codesourcery.com>
69 * f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
70 scalbn, scalbnl and scalbnf.
71 * mathbuiltins.def (JN, YN): Use type index 5.
73 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
75 * trans-types.c, trans-types.h: Remove redundant enum from
78 2014-10-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
81 * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2.
82 (gfc_error_cmdline): Rename as gfc_error_now_2.
83 * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space.
84 (gfc_diagnostic_starter): Add space between locus and prefix.
85 (gfc_warning_now_2): Renamed from gfc_warning_cmdline.
86 (gfc_error_now_2): Renamed from gfc_error_cmdline.
87 * scanner.c (add_path_to_list): Use gfc_warning_now_2.
88 (load_line): Likewise.
89 (load_file): Likewise.
90 * options.c (gfc_post_options): Update all renamed functions.
92 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
94 * f95-lang.c: Adjust include files.
95 * trans-decl.c: Ditto.
97 2014-10-24 Tobias Burnus <burnus@net-b.de>
99 * check.c (check_co_collective): Reject coindexed A args.
100 (gfc_check_co_reduce): Add OPERATOR checks.
101 * gfortran.texi (_gfortran_caf_co_broadcast, _gfortran_caf_co_max,
102 _gfortran_caf_co_min, _gfortran_caf_co_sum,
103 _gfortran_caf_co_reduce): Add ABI documentation.
104 * intrinsic.texi (CO_REDUCE): Document intrinsic.
105 (DPROD): Returns double not single precision.
106 * trans-decl.c (gfor_fndecl_co_reduce): New global var.
107 (gfc_build_builtin_function_decls): Init it.
108 * trans.h (gfor_fndecl_co_reduce): Declare it.
109 * trans-intrinsic.c (conv_co_collective,
110 gfc_conv_intrinsic_subroutine): Handle CO_REDUCE.
112 2014-10-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
115 * trans-const.c (gfc_build_nan): New function.
116 * trans-const.h (gfc_build_nan): New prototype.
117 * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special
119 (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan.
120 (gfc_conv_intrinsic_fraction): Handle special values.
121 (gfc_conv_intrinsic_spacing): Likewise.
122 (gfc_conv_intrinsic_rrspacing): Likewise.
123 (gfc_conv_intrinsic_set_exponent): Likewise.
125 2014-10-18 Paul Thomas <pault@gcc.gnu.org>
128 * resolve.c (resolve_ordinary_assign): Add data component to
129 rvalue expression for class to type assignment.
131 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
133 * f95-lang.c: Adjust include files.
134 * trans-decl.c: Likewise.
136 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
138 * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
140 2014-10-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
143 * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
144 (gfc_simplify_log): Likewise.
145 (gfc_simplify_scale): Likewise.
146 (gfc_simplify_exponent): Handle infinities and NaNs.
147 (gfc_simplify_fraction): Handle infinities.
148 (gfc_simplify_rrspacing): Handle signed zeros and NaNs.
149 (gfc_simplify_set_exponent): Handle infinities and NaNs.
150 (gfc_simplify_spacing): Handle zeros, infinities and NaNs.
152 2014-10-10 Jakub Jelinek <jakub@redhat.com>
155 * trans-openmp.c (gfc_omp_predetermined_sharing): Return
156 OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
158 2014-10-10 Tobias Burnus <burnus@net-b.de>
160 * gfortran.h (gfc_set_implicit_none): Update prototype.
161 * symbol.c (gfc_set_implicit_none): Take and
162 use error location. Move diagnostic from here to ...
163 * decl.c (gfc_match_implicit_none): ... here. And
164 update call. Handle empty implicit-none-spec.
165 (gfc_match_implicit): Handle statement-separator ";".
167 2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
169 * f95-lang.c (gfc_init_builtin_functions): Add more floating-point
171 * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
172 remainder, rint and signbit.
173 * trans-decl.c (save_fp_state, restore_fp_state): Move to
175 (gfc_generate_function_code): Use new names for these two functions.
176 * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
177 emit code from the front-end.
178 * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
179 conv_ieee_function_args, conv_intrinsic_ieee_builtin,
180 conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
181 conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
182 conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
183 conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
185 * trans.h (gfc_conv_ieee_arithmetic_function,
186 gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
188 2014-10-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
192 * gfortran.h (gfc_warning_cmdline): Add overload that takes an
194 (gfc_error_cmdline): Declare.
195 * error.c (gfc_warning_cmdline): New overload that takes an option.
196 (gfc_error_cmdline): New.
197 * lang.opt (Wmissing-include-dirs): New.
198 * scanner.c (add_path_to_list): Use the new functions.
199 (load_file): Likewise.
200 * options.c (gfc_init_options): Wmissing-include-dirs is enabled
201 by default in Fortran.
202 (gfc_handle_option): Accept automatically handled options.
204 2014-10-06 Tobias Burnus <burnus@net-b.de>
206 * libgfortran.h (GFC_STD_F2015): Add.
207 * decl.c (gfc_match_implicit_none): Handle spec list.
208 (gfc_match_implicit): Move double intrinsic warning here.
209 * gfortran.h (gfc_namespace): Add has_implicit_none_export:1.
210 (gfc_set_implicit_none): Update interface.
211 * interface.c (gfc_procedure_use): Add implicit-none external
213 * parse.c (accept_statement): Remove call.
214 (verify_st_order): Permit that external-implict-none follows
216 * symbol.c (gfc_set_implicit_none): Handle external/type
219 2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
222 * resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
224 2014-09-25 Tobias Burnus <burnus@net-b.de>
226 * check.c (check_co_collective): Renamed from check_co_minmaxsum,
228 (gfc_check_co_minmax, gfc_check_co_sum): Update call.
229 (gfc_check_co_broadcast, gfc_check_co_reduce): New.
230 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
232 * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
233 * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
235 * intrinsic.texi (CO_BROADCAST): Add.
236 * trans.h (gfor_fndecl_co_broadcast): New.
237 * trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
238 (gfc_build_builtin_function_decls): Add decl for it,
239 * trans-intrinsic.c (conv_co_collective): Renamed from
240 conv_co_minmaxsum. Handle co_reduce.
241 (gfc_conv_intrinsic_subroutine): Handle co_reduce.
243 2014-09-23 Jakub Jelinek <jakub@redhat.com>
246 * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
247 instead of VAR_DECL for base_decl.
249 2014-09-21 Jan Hubicka <hubicka@ucw.cz>
251 * openmp.c (omp_context): Rename to ...
252 (fortran_omp_context): ... this one.
254 2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
256 * resolve.c (resolve_fl_procedure): Remove duplicated lines.
258 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
259 Tobias Burnus <burnus@net-b.de>
261 * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
262 generating temporary for value argument.
264 2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
266 * trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
267 (gfc_conv_class_to_class): Likewise.
268 (gfc_conv_procedure_call): Likewise.
269 (arrayfunc_assign_needs_temporary): Likewise.
270 (realloc_lhs_loop_for_fcn_call): Likewise.
271 (gfc_trans_assignment_1): Likewise.
272 * trans-array.c (gfc_conv_array_ref): Likewise.
273 (gfc_array_allocate): Likewise.
274 (gfc_alloc_allocatable_for_assignment): Likewise.
275 * symbol.c (generate_isocbinding_symbol): Likewise.
276 * class.c (finalization_scalarizer): Likewise.
277 (finalizer_insert_packed_call): Likewise.
278 (generate_finalization_wrapper): Likewise.
279 (find_intrinsic_vtab): Likewise.
280 * decl.c (gfc_match_import): Likewise.
281 (match_procedure_decl): Likewise.
282 (gfc_match_subroutine): Likewise.
283 (gfc_match_bind_c): Likewise.
284 (gfc_match_volatile): Likewise.
285 * trans-common.c (create_common): Likewise.
286 * error.c (gfc_diagnostic_starter): Likewise.
287 * trans-stmt.c (gfc_trans_sync): Likewise.
288 (gfc_trans_critical): Likewise.
289 (gfc_trans_simple_do): Likewise.
290 (gfc_trans_do): Likewise.
291 (gfc_trans_where_assign): Likewise.
292 * expr.c (gfc_is_simply_contiguous): Likewise.
293 * module.c (unquote_string): Likewise.
294 * trans.c (gfc_add_finalizer_call): Likewise.
295 * trans-types.c (gfc_init_kinds): Likewise.
296 * scanner.c (preprocessor_line): Likewise.
297 * gfortranspec.c (lang_specific_driver): Likewise.
298 * frontend-passes.c (create_var): Likewise.
299 (cfe_expr_0): Likewise.
300 * resolve.c (check_host_association): Likewise.
301 (gfc_resolve_code): Likewise.
302 (resolve_fl_derived0): Likewise.
303 (resolve_symbol): Likewise.
304 * f95-lang.c (poplevel): Likewise.
305 * trans-decl.c (create_main_function): Likewise.
306 * trans-io.c (transfer_expr): Likewise.
307 * arith.c (gfc_arith_divide): Likewise.
308 * parse.c (resolve_all_program_units): Likewise.
309 * check.c (gfc_check_rank): Likewise.
310 (gfc_check_sizeof): Likewise.
311 (is_c_interoperable): Likewise.
312 * dependency.c (gfc_dep_difference): Likewise.
313 * primary.c (gfc_match_rvalue): Likewise.
314 * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
315 (conv_isocbinding_subroutine): Likewise.
316 * options.c (gfc_post_options): Likewise.
317 (gfc_handle_fpe_option): Likewise.
318 (gfc_get_option_string): Likewise.
319 * simplify.c (simplify_transformation_to_scalar): Likewise.
320 (gfc_simplify_spread): Likewise.
322 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
325 * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
327 2014-09-15 Jakub Jelinek <jakub@redhat.com>
329 * Make-lang.in (check_gfortran_parallelize): Change to just an upper
332 2014-09-13 Tobias Burnus <burnus@net-b.de>
335 * trans-decl.c (gfc_build_builtin_function_decls): Fix
336 caf_unlock declaration.
338 2014-09-12 Joseph Myers <joseph@codesourcery.com>
340 * trans-types.c (gfc_init_kinds): Check
341 targetm.libgcc_floating_mode_supported_p for floating-point
342 modes. Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE.
344 2014-09-05 Joost VandeVondele <vondele@gcc.gnu.org>
347 * intrinsic.texi (INT): clarify result.
349 2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
352 * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
353 when matching a component declaration.
355 2014-09-02 Marek Polacek <polacek@redhat.com>
358 * interface.c (compare_parameter): Fix condition.
359 * trans-expr.c (gfc_conv_procedure_call): Likewise.
361 2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
364 * resolve.c (apply_default_init_local): Don't treat variables
365 in RECURSIVE procedures as saved.
367 2014-08-31 Tobias Burnus <burnus@net-b.de>
369 * trans-decl.c (gfc_build_builtin_function_decls): Add
370 may_require_tmp dummy argument.
371 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
372 conv_caf_send): Handle may_require_tmp argument.
373 (gfc_conv_intrinsic_function): Update call.
374 * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
375 _gfortran_caf_sendget): Update interface description.
377 2014-08-30 Tobias Burnus <burnus@net-b.de>
379 * trans.h (gfc_caf_get_image_index,
380 gfc_get_caf_token_offset): New prototypes.
381 * trans-expr.c (gfc_caf_get_image_index): Moved from
382 trans-intrinsic.c and renamed.
383 (gfc_get_caf_token_offset) Ditto; support offset = NULL
385 * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
387 (gfc_conv_intrinsic_caf_get, conv_caf_send,
388 conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
389 conv_intrinsic_atomic_cas): Update callers.
391 2014-08-30 Tobias Burnus <burnus@net-b.de>
396 * dependency.c (gfc_check_dependency): Allow for optimizations
397 in the pointer-alias check.
399 2014-08-30 Janne Blomqvist <jb@gcc.gnu.org>
401 * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
404 2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com>
407 * module.c (gfc_dump_module): Unlink old module file before
410 2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
412 * frontend_passes (expr_array): Replace by vec template.
414 (expr_count): Remove.
415 (doloop_list): Replace by vec template.
416 (doloop_size): Remove.
417 (gfc_run_passes): Adjust to use of vec template.
418 (cfe_register_funcs): Likewise.
419 (cfe_expr_0): Likewise.
420 (doloop_code): Likewise.
422 2014-08-22 Steven Bosscher <steven@gcc.gnu.org>
425 * resolve.c (resolve_select): Fix list traversal in case the
426 last element of the CASE list was dropped as unreachable code.
428 2014-08-22 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
431 * lang.opt (Wuse-without-only): New flag.
432 * gfortran.h (gfc_option_t): Add it.
433 * invoke.texi: Document it.
434 * module.c (gfc_use_module): Warn if needed.
435 * options.c (gfc_init_options,gfc_handle_option): Init accordingly.
437 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
440 * frontend-passes.c (optimize_binop_array_assignment):
441 Do not try to optimize the array assignment for string
444 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
447 * error.c (gfc_diagnostic_build_locus_prefix): New function.
448 (gfc_diagnostic_starter): Follow Fortran FE diagnostics.
449 (gfc_diagnostic_finalizer): Do not call default finalizer.
451 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
454 * error.c (gfc_diagnostic_finalizer): Call default finalizer.
456 2014-08-20 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
458 * options.c (gfc_init_options_struct): assert that the frontend sets
459 flag_errno_math and flag_associative_math.
461 2014-08-17 Tobias Burnus <burnus@net-b.de>
463 * resolve.c (gfc_resolve_finalizers): Ensure that parents are
466 2014-08-17 Tobias Burnus <burnus@net-b.de>
468 * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
470 (transfer_namelist_element): Use proper int type as argument.
472 2014-08-15 Thomas Koenig <tkoenig@gcc.gnu.org>
475 * trans-expr.c (is_runtime_conformable): Add NULL pointer checks.
477 2014-08-15 Tobias Burnus <burnus@net-b.de>
479 * resolve.c (resolve_critical): Fix name mangling.
480 * trans-stmt.c (gfc_trans_critical): Fix lock call.
482 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
485 * gfortran.h: Define GCC_DIAG_STYLE.
486 (gfc_diagnostics_init,gfc_warning_cmdline): Declare.
487 * trans-array.c: Include gfortran.h before diagnostic-core.h.
488 * trans-expr.c: Likewise.
489 * trans-openmp.c: Likewise.
490 * trans-const.c: Likewise.
492 * trans-types.c: Likewise.
493 * f95-lang.c: Likewise.
494 * trans-decl.c: Likewise.
495 * trans-io.c: Likewise.
496 * trans-intrinsic.c: Likewise.
497 * error.c: Include diagnostic.h and diagnostic-color.h.
498 (gfc_diagnostic_build_prefix): New.
499 (gfc_diagnostic_starter): New.
500 (gfc_diagnostic_finalizer): New.
501 (gfc_warning_cmdline): New.
502 (gfc_diagnostics_init): New.
503 * gfc-diagnostic.def: New.
504 * options.c (gfc_init_options): Call gfc_diagnostics_init.
505 (gfc_post_options): Use gfc_warning_cmdline.
507 2014-08-15 Jakub Jelinek <jakub@redhat.com>
508 Tobias Burnus <burnus@net-b.de>
511 * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
512 is allocatable, rather than whenever var->attr.allocatable.
514 2014-08-15 Jakub Jelinek <jakub@redhat.com>
517 * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
518 or allocatable passed by reference.
519 (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.
521 2014-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
524 * gfortran.h (symbol_attribute): Add fe_temp flag.
525 * frontend-passes.c (is_fe_temp): New function.
526 (create_var): Don't add a temporary for an already
527 created variable or for a constant.
528 (combine_ARRAY_constructor): Remove special handling
531 2014-08-14 Tobias Burnus <burnus@net-b.de>
533 * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
534 (_gfortran_caf_register): Update for locking/critical.
535 (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
536 * resolve.c (resolve_critical): New.
537 (gfc_resolve_code): Call it.
538 * trans-decl.c (gfor_fndecl_caf_critical,
539 gfor_fndecl_caf_end_critical): Remove.
540 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
541 (gfc_build_builtin_function_decls): Remove critical,
542 assign locking declarations.
543 (generate_coarray_sym_init): Handle locking and
545 * trans-stmt.c (gfc_trans_critical): Add calls to
546 lock/unlock libcaf functions.
547 * trans.h (gfc_coarray_type): Update locking, add
548 critical enum values.
549 (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
550 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
552 2014-08-14 Tobias Burnus <burnus@net-b.de>
554 * gfortran.texi (Coarray Programming): Add first ABI
557 2014-08-14 Jakub Jelinek <jakub@redhat.com>
560 * openmp.c (gfc_match_omp_clauses): When failed to match
561 operator name, defined op name or name, set buffer to
562 empty string. Don't call gfc_find_omp_udr if buffer is empty
564 (gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
565 before calling gfc_free_omp_udr.
567 2014-08-11 Richard Biener <rguenther@suse.de>
570 * trans-expr.c (gfc_conv_structure): Initialize _size with
571 a value of proper type.
573 2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
576 * simplify.c (gfc_simplify_dot_product): Convert types of
577 vectors before calculating the result.
579 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
581 * openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
583 2014-07-26 Tobias Burnus <burnus@net-b.de>
588 * intrinsic.texi (SIZEOF): Document changed behavior
589 for polymorphic arrays.
591 2014-07-26 Tobias Burnus <burnus@net-b.de>
596 * check.c (gfc_check_sizeof): Permit for assumed type if and
597 only if it has an array descriptor.
598 * intrinsic.c (do_ts29113_check): Permit SIZEOF.
599 (add_functions): SIZEOF is an Inquiry function.
600 * intrinsic.texi (SIZEOF): Add note that only contiguous
601 arrays are permitted.
602 * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
604 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
605 assumed type + array descriptor, CLASS and assumed rank.
606 (gfc_conv_intrinsic_storage_size): Handle class arrays.
608 2014-07-25 Tobias Burnus <burnus@net-b.de>
610 * simplify.c (gfc_simplify_storage_size): Use proper
611 integer kind for the returned value.
613 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
615 * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
616 correct menu position to match sectioning.
618 2014-06-15 Tobias Burnus <burnus@net-b.de>
620 * symbol.c (check_conflict): Add codimension conflict with
621 pointer; fix cray-pointee check.
623 2014-06-14 Tobias Burnus <burnus@net-b.de>
625 * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
626 for kind mismatch with -fcoarray=lib.
628 2014-07-12 Paul Thomas <pault@gcc.gnu.org>
631 * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
632 that elements are skipped. This then correctly aligns 'reverse'
633 with the scalarizer loops.
635 2014-07-12 Tobias Burnus <burnus@net-b.de>
638 * trans-types.c (gfc_init_types): Fix data-type bug
639 with gfc_max_array_element_size.
641 2014-07-12 Tobias Burnus <burnus@net-b.de>
643 * libgfortran.h (libcaf_atomic_codes): Add.
644 * trans-decl.c (gfor_fndecl_caf_atomic_def,
645 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
646 gfor_fndecl_caf_atomic_op): New variables.
647 (gfc_build_builtin_function_decls): Initialize them.
648 * trans.h (gfor_fndecl_caf_atomic_def,
649 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
650 gfor_fndecl_caf_atomic_op): New variables.
651 * trans-intrinsic.c (conv_intrinsic_atomic_op,
652 conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
653 Add library calls with -fcoarray=lib.
655 2014-07-12 Tobias Burnus <burnus@net-b.de>
657 * check.c (gfc_check_atomic): Update for STAT=.
658 (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
659 (gfc_check_atomic_op, gfc_check_atomic_cas,
660 gfc_check_atomic_fetch_op): New.
661 * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
662 GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
663 GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
664 GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
665 * intrinsic.c (add_subroutines): Handle them.
666 * intrinsic.texi: Add documentation for them.
667 (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
668 (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
669 * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
670 gfc_check_atomic_fetch_op): New
672 * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
673 * iso-fortran-env.def: Add it.
674 * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
675 conv_intrinsic_atomic_ref; handle more atomics.
676 (conv_intrinsic_atomic_def): Handle STAT=.
677 (conv_intrinsic_atomic_cas): New.
678 (gfc_conv_intrinsic_subroutine): Handle new atomics.
680 2014-07-09 Bernd Schmidt <bernds@codesourcery.com>
682 * trans-array.c (gfc_build_constant_array_constructor): Build a
683 static decl manually.
684 * trans-decl.c (create_main_function): Likewise.
686 2014-07-07 Paul Thomas <pault@gcc.gnu.org>
690 * trans-expr.c (fcncall_realloc_result): Use the natural type
691 for the address expression of 'res_desc'.
693 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com>
695 * gfortran.texi (Fortran 2003 status): Fix grammar.
697 2014-07-04 Tobias Burnus <burnus@net-b.de>
699 * resolve.c (resolve_assoc_var): Fix corank setting.
700 * trans-array.c (gfc_conv_descriptor_token): Change assert.
701 for select-type temporaries.
702 * trans-decl.c (generate_coarray_sym_init): Skip for
703 attr.select_type_temporary.
704 * trans-expr.c (gfc_conv_procedure_call): Fix for
705 select-type temporaries.
706 * trans-intrinsic.c (get_caf_token_offset): Ditto.
707 (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
709 * trans-types.h (gfc_get_dtype_rank_type): New.
710 * trans-types.c (gfc_get_dtype_rank_type): Ditto.
712 2014-07-03 Tobias Burnus <burnus@net-b.de>
714 * scanner.c (skip_free_comments): Fix indentation.
716 2014-07-02 Jakub Jelinek <jakub@redhat.com>
717 Fritz Reese <Reese-Fritz@zai.com>
719 * decl.c (variable_decl): Reject old style initialization
720 for derived type components.
722 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
726 * decl.c (check_bind_name_identifier): New function.
727 (gfc_match_bind_c): Match any constant expression as binding
729 * match.c (gfc_match_name_C): Remove.
731 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
734 * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
735 * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
737 * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
738 * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
739 * module.c (mio_symbol): Keep track of symbols which came from
741 (gfc_use_module): Keep track of the IEEE modules.
742 * trans-decl.c (gfc_get_symbol_decl): Adjust code since
743 we have new intrinsic modules.
744 (gfc_build_builtin_function_decls): Build decls for
745 ieee_procedure_entry and ieee_procedure_exit.
746 (is_from_ieee_module, is_ieee_module_used, save_fp_state,
747 restore_fp_state): New functions.
748 (gfc_generate_function_code): Save and restore floating-point
749 state on procedure entry/exit, when IEEE modules are used.
750 * intrinsic.texi: Document the IEEE modules.
752 2014-06-25 Tobias Burnus <burnus@net-b.de>
754 * interface.c (check_intents): Fix diagnostic with
757 2014-06-25 Tobias Burnus <burnus@net-b.de>
759 * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
760 when assigning a coindexed RHS scalar to a noncoindexed LHS
762 * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
763 for a noncoindexed scalar RHS.
765 2014-06-25 Tobias Burnus <burnus@net-b.de>
767 * check.c (check_co_minmaxsum): Add definable check.
768 * expr.c (gfc_check_vardef_context): Fix context == NULL case.
769 * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
771 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
774 2014-06-25 Jakub Jelinek <jakub@redhat.com>
776 * trans.h (gfc_omp_clause_linear_ctor): New prototype.
777 * trans-openmp.c (gfc_omp_linear_clause_add_loop,
778 gfc_omp_clause_linear_ctor): New functions.
779 (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
780 correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
781 * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
783 2014-06-24 Jakub Jelinek <jakub@redhat.com>
785 * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
787 * f95-lang.c (gfc_init_builtin_functions): Initialize
788 BUILT_IN_ASSUME_ALIGNED.
789 * gfortran.h (gfc_omp_namelist): Change udr field type to
790 struct gfc_omp_namelist_udr.
791 (gfc_omp_namelist_udr): New type.
792 (gfc_get_omp_namelist_udr): Define.
793 (gfc_resolve_code): New prototype.
794 * match.c (gfc_free_omp_namelist): Free name->udr.
795 * module.c (intrinsics): Add INTRINSIC_USER.
796 (fix_mio_expr): Likewise.
797 (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
798 * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
799 (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
800 Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
801 (struct resolve_omp_udr_callback_data): New type.
802 (resolve_omp_udr_callback, resolve_omp_udr_callback2,
803 resolve_omp_udr_clause): New functions.
804 (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
806 (omp_udr_callback): Don't check for implicitly declared functions
808 (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
809 implicitly declared subroutines here.
810 * resolve.c (resolve_function): If value.function.isym is non-NULL,
811 consider it already resolved.
812 (resolve_code): Renamed to ...
813 (gfc_resolve_code): ... this. No longer static.
814 (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
816 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
817 by reference type (C_PTR) variables.
818 (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
819 (gfc_trans_omp_udr_expr): Remove.
820 (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
821 Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
822 expand it as assignment or subroutine call. Don't initialize
825 2014-06-23 Tobias Burnus <burnus@net-b.de>
827 * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
828 explicit-size arrays with -fcoarray=lib.
830 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
833 * invoke.texi: Don't mention nonexisting -fcase-lower option.
835 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
838 * expr.c (scalarize_intrinsic_call): Take care of optional
841 2014-06-19 Tobias Burnus <burnus@net-b.de>
843 * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
846 2014-06-18 Tobias Burnus <burnus@net-b.de>
848 * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
849 * intrinsic.texi (OpenMP Modules): Ditto.
851 2014-06-18 Jakub Jelinek <jakub@redhat.com>
853 * cpp.c (cpp_define_builtins): Change _OPENMP macro to
855 * dump-parse-tree.c (show_omp_namelist): Add list_type
856 argument. Adjust for rop being u.reduction_op now,
857 handle depend_op or map_op.
858 (show_omp_node): Adjust callers. Print some new
859 OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
860 becoming a single OMP_LIST_DEPEND.
861 * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
863 (gfc_attribute_table): New variable.
864 (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
865 * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
866 EXEC_OMP_* codes and new clauses.
867 * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
868 ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
869 ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
870 ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
871 ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
872 ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
873 ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
874 ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
875 ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
876 ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
877 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
878 ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
879 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
880 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
881 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
882 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
883 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
884 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
885 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
886 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
887 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
888 (symbol_attribute): Add omp_declare_target field.
889 (gfc_omp_depend_op, gfc_omp_map_op): New enums.
890 (gfc_omp_namelist): Replace rop field with union
891 containing reduction_op, depend_op and map_op.
892 (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
893 (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
894 (gfc_omp_clauses): Add num_teams, device, thread_limit,
895 dist_sched_kind, dist_chunk_size fields.
896 (gfc_common_head): Add omp_declare_target field.
897 (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
898 EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
899 EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
900 EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
901 EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
902 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
903 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
904 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
905 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
906 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
907 EXEC_OMP_TARGET_UPDATE.
908 (gfc_add_omp_declare_target): New prototype.
909 * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
910 gfc_match_omp_distribute_parallel_do,
911 gfc_match_omp_distribute_parallel_do_simd,
912 gfc_match_omp_distribute_simd, gfc_match_omp_target,
913 gfc_match_omp_target_data, gfc_match_omp_target_teams,
914 gfc_match_omp_target_teams_distribute,
915 gfc_match_omp_target_teams_distribute_parallel_do,
916 gfc_match_omp_target_teams_distribute_parallel_do_simd,
917 gfc_match_omp_target_teams_distribute_simd,
918 gfc_match_omp_target_update, gfc_match_omp_teams,
919 gfc_match_omp_teams_distribute,
920 gfc_match_omp_teams_distribute_parallel_do,
921 gfc_match_omp_teams_distribute_parallel_do_simd,
922 gfc_match_omp_teams_distribute_simd): New prototypes.
923 * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
924 (attr_bits): Likewise.
925 (mio_symbol_attribute): Handle omp_declare_target attribute.
926 (gfc_free_omp_clauses): Free num_teams, device, thread_limit
927 and dist_chunk_size expressions.
928 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
929 OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
930 OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
931 OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
932 OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
933 OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
934 OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
935 OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
936 OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
937 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
938 OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
939 OMP_CLAUSE_DIST_SCHEDULE): Define.
940 (gfc_match_omp_clauses): Change mask parameter to unsigned int.
941 Adjust for rop becoming u.reduction_op. Disallow inbranch with
942 notinbranch. For depend clause, always create OMP_LIST_DEPEND
943 and fill in u.depend_op. Handle num_teams, device, map,
944 to, from, thread_limit and dist_schedule clauses.
945 (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
946 OMP_CLAUSE_NOTINBRANCH.
947 (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
948 OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
949 OMP_DISTRIBUTE_CLAUSES): Define.
950 (match_omp): New function.
951 (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
952 gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
953 gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
954 gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
955 gfc_match_omp_task): Rewritten using match_omp.
956 (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
957 Diagnose if the directives are followed by unexpected junk.
958 (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
959 gfc_match_omp_distribute_parallel_do_simd,
960 gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
961 gfc_match_omp_target, gfc_match_omp_target_data,
962 gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
963 gfc_match_omp_target_teams_distribute_parallel_do,
964 gfc_match_omp_target_teams_distribute_parallel_do_simd,
965 gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
966 gfc_match_omp_teams, gfc_match_omp_teams_distribute,
967 gfc_match_omp_teams_distribute_parallel_do,
968 gfc_match_omp_teams_distribute_parallel_do_simd,
969 gfc_match_omp_teams_distrbute_simd): New functions.
970 * openmp.c (resolve_omp_clauses): Adjust for
971 OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle
972 OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
973 dist_chunk_size and thread_limit.
974 (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
975 ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various
976 new EXEC_OMP_* codes.
977 (resolve_omp_do): Handle various new EXEC_OMP_* codes.
978 (gfc_resolve_omp_directive): Likewise.
979 (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
980 * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
981 offloading related directives.
982 (case_executable): Add ST_OMP_TARGET_UPDATE.
983 (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
985 (case_decl): Add ST_OMP_DECLARE_TARGET.
986 (gfc_ascii_statement): Handle new ST_OMP_* codes.
987 (parse_omp_do): Handle various new ST_OMP_* codes.
988 (parse_executable): Likewise.
989 * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
991 (resolve_code): Likewise.
992 (resolve_symbol): Change that !$OMP DECLARE TARGET variables
994 * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
995 * symbol.c (check_conflict): Check omp_declare_target conflicts.
996 (gfc_add_omp_declare_target): New function.
997 (gfc_copy_attr): Copy omp_declare_target.
998 * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
999 * trans-common.c (build_common_decl): Add "omp declare target"
1000 attribute if needed.
1001 * trans-decl.c (add_attributes_to_decl): Likewise.
1002 * trans.h (gfc_omp_finish_clause): New prototype.
1003 * trans-openmp.c (gfc_omp_finish_clause): New function.
1004 (gfc_trans_omp_reduction_list): Adjust for rop being renamed
1006 (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
1007 change to OMP_LIST_DEPEND and fix up depend handling.
1008 Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
1009 thread_limit, device, dist_chunk_size and dist_sched_kind.
1010 (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
1011 (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
1012 GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
1013 GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
1014 (gfc_split_omp_clauses): Handle splitting of clauses for new
1016 (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
1017 callable for combined constructs.
1018 (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
1019 (gfc_trans_omp_distribute, gfc_trans_omp_teams,
1020 gfc_trans_omp_target, gfc_trans_omp_target_data,
1021 gfc_trans_omp_target_update): New functions.
1022 (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
1023 new EXEC_OMP_* codes.
1025 2014-06-18 Tobias Burnus <burnus@net-b.de>
1028 * invoke.texi (-Wunused-parameter): Make clearer when
1029 -Wextra implies this option.
1031 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1034 * options.c (gfc_handle_option): Remove call to
1035 handle_generated_option.
1037 2014-06-17 Tobias Burnus <burnus@net-b.de>
1039 * check.c (gfc_check_atomic, gfc_check_atomic_def):
1040 Use argument for GFC_ISYM_CAF_GET.
1041 * resolve.c (resolve_variable): Enable CAF_GET insertion.
1042 (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
1043 (resolve_ordinary_assign): Enable CAF_SEND insertion.
1044 * trans-const.c (gfc_build_string_const,
1045 gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
1046 * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
1047 gfor_fndecl_caf_sendget): New global variables.
1048 (gfc_build_builtin_function_decls): Initialize them;
1049 update co_min/max/sum initialization.
1050 * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
1051 get_tree_for_caf_expr and removed static.
1052 (gfc_conv_procedure_call): Update call.
1053 * trans-intrinsic.c (caf_get_image_index,
1054 conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
1055 get_caf_token_offset, gfc_conv_intrinsic_caf_get,
1056 conv_caf_send): New.
1057 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
1058 gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
1059 (conv_co_minmaxsum): Update call for remove unused vector
1061 (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
1062 Skip a CAF_GET of the argument.
1063 * trans-types.c (gfc_get_caf_vector_type): New.
1064 * trans-types.h (gfc_get_caf_vector_type): New.
1065 * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
1066 gfor_fndecl_caf_sendget): New global variables.
1067 (gfc_get_tree_for_caf_expr): New prototypes.
1069 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
1071 * trans-common.c (build_common_decl): Use
1073 * trans-decl.c (gfc_finish_var_decl): Likewise.
1074 (get_proc_pointer_decl): Likewise.
1076 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1080 * check.c (gfc_check_system_clock): Improve checking of arguments.
1081 * intrinsic.texi: Update doc of SYSTEM_CLOCK.
1082 * iresolve.c (gfc_resolve_system_clock): Choose library function
1083 used depending on argument kinds.
1084 * trans-decl.c (gfc_build_intrinsic_function_decls): Build
1085 decls for system_clock_4 and system_clock_8.
1086 * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
1087 (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
1088 * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
1091 2014-06-12 Tobias Burnus <burnus@net-b.de>
1093 * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
1094 * symbol.c (gfc_copy_formal_args_intr): Handle the case
1095 that absent optional arguments should be ignored.
1096 * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
1097 (gfc_conv_intrinsic_funcall,
1098 conv_generic_with_optional_char_arg): Update call.
1099 * resolve.c (gfc_resolve_intrinsic): Ditto.
1101 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr>
1102 Mikael Morin <mikael@gcc.gnu.org>
1105 * trans-expr.c (gfc_conv_expr_reference): Deallocate array
1108 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1111 * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
1113 * openmp.c (resolve_omp_clauses): Remove allocatable components
1114 diagnostics. Add associate-name and intent(in) pointer
1115 diagnostics for various clauses, diagnose procedure pointers in
1117 * parse.c (match_word_omp_simd): New function.
1118 (matchs, matcho): New macros.
1119 (decode_omp_directive): Change match macros to either matchs
1120 or matcho. Handle -fopenmp-simd.
1121 (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
1122 * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
1124 * trans-array.c (get_full_array_size): Rename to...
1125 (gfc_full_array_size): ... this. No longer static.
1126 (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument
1128 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
1129 duplicate_allocatable callers.
1130 (gfc_duplicate_allocatable_nocopy): New function.
1131 (structure_alloc_comps): Adjust g*_full_array_size and
1132 duplicate_allocatable caller.
1133 * trans-array.h (gfc_full_array_size,
1134 gfc_duplicate_allocatable_nocopy): New prototypes.
1135 * trans-common.c (create_common): Call gfc_finish_decl_attrs.
1136 * trans-decl.c (gfc_finish_decl_attrs): New function.
1137 (gfc_finish_var_decl, create_function_arglist,
1138 gfc_get_fake_result_decl): Call it.
1139 (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
1140 don't allocate it again.
1141 (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
1143 * trans.h (gfc_finish_decl_attrs): New prototype.
1144 (struct lang_decl): Add scalar_allocatable and scalar_pointer
1146 (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
1147 GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
1148 GFC_DECL_ASSOCIATE_VAR_P): Define.
1149 (GFC_POINTER_TYPE_P): Remove.
1150 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
1151 GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
1152 GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
1153 (gfc_omp_predetermined_sharing): Associate-names are predetermined.
1154 (enum walk_alloc_comps): New.
1155 (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
1156 gfc_walk_alloc_comps): New functions.
1157 (gfc_omp_private_outer_ref): Return true for scalar allocatables or
1158 decls with allocatable components.
1159 (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
1160 gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
1161 allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
1162 allocatables and decls with allocatable components.
1163 (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
1165 (gfc_trans_omp_reduction_list): Call
1166 gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
1167 (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
1168 (gfc_trans_omp_parallel_do_simd): Likewise.
1169 * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
1170 (gfc_get_derived_type): Call gfc_finish_decl_attrs.
1172 2014-06-09 Paul Thomas <pault@gcc.gnu.org>
1175 * trans-stmt.c (trans_associate_var): Check that array
1176 constructors are constant for direct reference.
1178 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1181 * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
1182 BESSEL_Y0, and BESSEL_Y1.
1184 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1187 * trans-decl.c (gfc_create_module_variable): Don't create
1188 Cray-pointee decls twice.
1190 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1192 * io.c (resolve_tag): Warn on non-default kind for NUMBER,
1193 NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
1195 2014-06-06 Jakub Jelinek <jakub@redhat.com>
1197 * dump-parse-tree.c (show_omp_namelist): Dump reduction
1198 id in each list item.
1199 (show_omp_node): Only handle OMP_LIST_REDUCTION, not
1200 OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't
1201 dump reduction id here.
1202 * frontend-passes.c (dummy_code_callback): Renamed to...
1203 (gfc_dummy_code_callback): ... this. No longer static.
1204 (optimize_reduction): Use gfc_dummy_code_callback instead of
1205 dummy_code_callback.
1206 * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
1207 (symbol_attribute): Add omp_udr_artificial_var bitfield.
1208 (gfc_omp_reduction_op): New enum.
1209 (gfc_omp_namelist): Add rop and udr fields.
1210 (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
1211 OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
1212 OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
1213 OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
1214 (OMP_LIST_REDUCTION): New.
1215 (gfc_omp_udr): New type.
1216 (gfc_get_omp_udr): Define.
1217 (gfc_symtree): Add n.omp_udr field.
1218 (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
1219 (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
1220 gfc_dummy_code_callback): New prototypes.
1221 * match.h (gfc_match_omp_declare_reduction): New prototype.
1222 * module.c (MOD_VERSION): Increase to 13.
1223 (omp_declare_reduction_stmt): New array.
1224 (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
1226 (read_module): Read OpenMP user defined reductions.
1227 (write_module): Write OpenMP user defined reductions.
1228 * openmp.c: Include arith.h.
1229 (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
1230 (gfc_match_omp_clauses): Handle user defined reductions.
1231 Store reduction kind into gfc_omp_namelist instead of using
1232 several OMP_LIST_* entries.
1233 (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
1234 gfc_match_omp_declare_reduction): New functions.
1235 (resolve_omp_clauses): Adjust for reduction clauses being only
1236 in OMP_LIST_REDUCTION list. Diagnose missing UDRs.
1237 (struct omp_udr_callback_data): New type.
1238 (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
1240 * parse.c (decode_omp_directive): Handle !$omp declare reduction.
1241 (case_decl): Add ST_OMP_DECLARE_REDUCTION.
1242 (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
1243 * resolve.c (resolve_fl_variable): Allow len=: or len=* on
1244 sym->attr.omp_udr_artificial_var symbols.
1245 (resolve_types): Call gfc_resolve_omp_udrs.
1246 * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
1247 use parent ns instead of gfc_current_ns.
1248 (gfc_get_sym_tree): Don't insert symbols into
1249 namespaces with omp_udr_ns set.
1250 (free_omp_udr_tree): New function.
1251 (gfc_free_namespace): Call it.
1252 * trans-openmp.c (struct omp_udr_find_orig_data): New type.
1253 (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
1254 (gfc_trans_omp_array_reduction): Renamed to...
1255 (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM
1256 argument, instead pass gfc_omp_namelist pointer N. Handle
1257 user defined reductions.
1258 (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
1259 Handle user defined reductions and reduction ops in gfc_omp_namelist.
1260 (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
1262 (gfc_split_omp_clauses): Likewise.
1264 2014-06-05 Richard Biener <rguenther@suse.de>
1267 * gfortranspec.c (spec_file): Remove.
1268 (find_spec_file): Likewise.
1269 (lang_specific_driver): Do not look for specs file in -L
1270 or append -specs command line argument.
1271 (lang_specific_pre_link): Always %:include libgfortran.spec.
1273 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
1275 * fortran/trans.c (trans_runtime_error_vararg): Call
1276 fold_build_call_array_loc instead of fold_builtin_call_array.
1278 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
1280 * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
1281 arguments to caf_init.
1283 2014-05-26 Tobias Burnus <burnus@net-b.de>
1285 * gfortran.texi (Project Status): Fix broken link.
1287 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
1290 * intrinsics.texi (CTIME): Remove mention of locale-dependent
1293 2014-05-26 Tobias Burnus <burnus@net-b.de>
1296 * trans-io.c (nml_full_name, transfer_namelist_element): Insert
1297 a '+' rather then '%' to differentiate namelist variable names
1298 that are based on extended derived types.
1300 2014-05-25 Tobias Burnus <burnus@net-b.de>
1302 * check.c (gfc_check_num_images): New.
1303 (gfc_check_this_image): Handle distance argument.
1304 * intrinsic.c (add_functions): Update this_image and num_images
1305 for new distance and failed arguments.
1306 * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
1308 * intrinsic.h (gfc_check_num_images): New.
1309 (gfc_check_this_image, gfc_simplify_num_images,
1310 gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
1311 * iresolve.c (gfc_resolve_this_image): Handle distance argument.
1312 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
1313 Handle new arguments.
1314 * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
1315 (gfc_conv_intrinsic_function): Update trans_num_images call.
1317 2014-05-23 Tobias Burnus <burnus@net-b.de>
1319 * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
1320 * gfortran.texi: Ditto.
1322 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1324 * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1325 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1326 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1327 * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1329 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1331 * f95-lang.c (pushlevel): Adjust.
1332 * trans-decl.c (gfc_allocate_lang_decl): Adjust.
1333 (gfc_find_module): Likewise.
1334 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1335 (gfc_get_array_type_bounds): Likewise.
1336 (gfc_nonrestricted_type): Likewise.
1337 * trans.h: Don't use variable_size gty attribute.
1339 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
1341 * check.c (gfc_check_fn_rc2008): move "argument" to the right
1344 2014-05-12 Tobias Burnus <burnus@net-b.de>
1347 * openmp.c (resolve_omp_do): Reject do concurrent loops.
1349 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1352 * frontend-passes.c (in_assoc_list): New variable.
1353 (optimize_namespace): Initialize in_assoc_list
1354 (combine_array_constructor): Don't try to combine
1356 (gfc_code_walker): Keep track of in_assoc_list.
1358 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1360 * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
1361 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1362 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1363 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1364 ST_OMP_DECLARE_SIMD.
1365 (gfc_omp_namelist): New typedef.
1366 (gfc_get_omp_namelist): Define.
1367 (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
1368 OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
1369 (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
1370 (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
1371 Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
1372 simdlen_expr fields.
1373 (gfc_omp_declare_simd): New typedef.
1374 (gfc_get_omp_declare_simd): Define.
1375 (gfc_namespace): Add omp_declare_simd field.
1376 (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1377 EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
1378 EXEC_OMP_PARALLEL_DO_SIMD.
1379 (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
1380 and GFC_OMP_ATOMIC_SWAP.
1381 (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
1382 (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
1383 gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
1385 * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
1386 * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
1387 * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
1388 simdlen_expr. Use gfc_free_omp_namelist instead of
1390 (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
1392 (gfc_match_omp_variable_list): Add end_colon, headp and
1393 allow_sections arguments. Handle parsing of array sections.
1394 Use *omp_namelist* instead of *namelist* data structure and
1395 functions/macros. Allow termination at : character.
1396 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
1397 OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
1398 OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
1399 (gfc_match_omp_clauses): Change first and needs_space variables
1400 into arguments with default values. Parse inbranch, notinbranch,
1401 proc_bind, safelen, simdlen, uniform, linear, aligned and
1403 (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
1404 (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
1405 (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
1406 (gfc_match_omp_do_simd): New function.
1407 (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
1408 data structure and functions/macros.
1409 (gfc_match_omp_simd, gfc_match_omp_declare_simd,
1410 gfc_match_omp_parallel_do_simd): New functions.
1411 (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
1412 (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
1413 gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
1415 (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
1416 Use *omp_namelist* instead of *namelist* data structure and
1417 functions/macros. Resolve uniform, aligned, linear, depend,
1418 safelen and simdlen clauses.
1419 (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
1420 addition, recognize atomic swap.
1421 (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
1422 of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
1423 EXEC_OMP_PARALLEL_DO.
1424 (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
1425 data structure and functions/macros.
1426 (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1427 EXEC_OMP_PARALLEL_DO_SIMD.
1428 (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1429 EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
1430 resolve_omp_clauses caller.
1431 (gfc_resolve_omp_declare_simd): New function.
1432 * parse.c (decode_omp_directive): Parse cancellation point, cancel,
1433 declare simd, end do simd, end simd, end parallel do simd,
1434 end taskgroup, parallel do simd, simd and taskgroup directives.
1435 (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
1436 (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
1437 ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
1438 (case_decl): Add ST_OMP_DECLARE_SIMD.
1439 (gfc_ascii_statement): Handle ST_OMP_CANCEL,
1440 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1441 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1442 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1443 ST_OMP_DECLARE_SIMD.
1444 (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
1445 ST_OMP_PARALLEL_DO_SIMD.
1446 (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
1447 (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
1448 ST_OMP_PARALLEL_DO_SIMD.
1449 (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
1450 ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
1451 * trans-decl.c (gfc_get_extern_function_decl,
1452 gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
1454 * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
1455 EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
1456 safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
1457 of depend, aligned and linear clauses.
1458 * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
1459 and EXEC_OMP_PARALLEL_DO_SIMD.
1460 (gfc_free_omp_namelist): New function.
1461 * dump-parse-tree.c (show_namelist): Removed.
1462 (show_omp_namelist): New function.
1463 (show_omp_node): Handle OpenMP 4.0 additions.
1464 (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1465 EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
1467 * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
1468 gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
1469 gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
1470 gfc_match_omp_taskgroup): New prototypes.
1471 * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
1472 argument, handle it. Allow current_function_decl to be NULL.
1473 (gfc_trans_omp_variable_list): Add declare_simd argument, pass
1474 it through to gfc_trans_omp_variable and disregard whether
1475 sym is referenced if declare_simd is true. Work on gfc_omp_namelist
1476 instead of gfc_namelist.
1477 (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
1478 gfc_namelist. Adjust gfc_trans_omp_variable caller.
1479 (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
1480 to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
1481 instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
1482 simdlen, depend, uniform, linear, proc_bind and aligned clauses.
1484 (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
1485 adjust for GFC_OMP_ATOMIC_* changes.
1486 (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
1488 (gfc_trans_omp_do): Add op argument, handle simd translation into
1490 (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
1491 GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
1492 GFC_OMP_MASK_PARALLEL): New.
1493 (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
1494 (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
1495 (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
1497 (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
1498 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1499 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1500 Adjust gfc_trans_omp_do caller.
1501 (gfc_trans_omp_declare_simd): New function.
1502 * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
1503 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1504 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1505 For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
1507 * module.c (omp_declare_simd_clauses): New variable.
1508 (mio_omp_declare_simd): New function.
1509 (mio_symbol): Call it.
1510 * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
1511 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1512 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1513 * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
1514 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1515 (resolve_code): Handle EXEC_OMP_CANCEL,
1516 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1517 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1518 (resolve_types): Call gfc_resolve_omp_declare_simd.
1520 2014-05-11 Tobias Burnus <burnus@net-b.de>
1522 * trans-intrinsic.c (gfc_build_builtin_function_decls):
1523 Change type of second argument to int.
1525 2014-05-09 Mike Stump <mikestump@comcast.net>
1528 * trans-array.c (gfc_conv_array_initializer): Fix wide-int
1531 2014-05-08 Tobias Burnus <burnus@net-b.de>
1533 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
1534 and GFC_ISYM_CAF_SEND.
1535 * intrinsic.c (add_functions): Add only internally
1536 accessible caf_get and caf_send functions.
1537 * resolve.c (add_caf_get_intrinsic,
1538 remove_caf_get_intrinsic): New functions.
1539 (resolve_variable): Resolve expression rank and
1540 prepare for add_caf_get_intrinsic call.
1541 (gfc_resolve_expr): For variables, remove rank
1543 (resolve_ordinary_assign): Prepare call to
1545 (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
1546 the LHS of an assignment.
1548 2014-05-08 Tobias Burnus <burnus@net-b.de>
1550 * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
1552 2014-05-08 Tobias Burnus <burnus@net-b.de>
1554 * check.c (check_co_minmaxsum, gfc_check_co_minmax,
1555 gfc_check_co_sum): New.
1556 * error.c (gfc_notify_std): Update -std=f2008ts.
1557 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
1558 GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
1559 * intrinsic.h (gfc_check_co_minmax,
1560 gfc_check_co_sum): Declare.
1561 * intrinsic.c (add_subroutines): Add co_min, co_max
1563 (gfc_check_intrinsic_standard): Update text for
1565 * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
1567 * invoke.texi (-std=f2008ts): Update wording.
1568 * trans.h (gfor_fndecl_co_max,
1569 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1570 * trans-decl.c (gfor_fndecl_co_max,
1571 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1572 (gfc_build_builtin_function_decls): Assign to it.
1573 * trans-intrinsic.c (conv_co_minmaxsum): New.
1574 (gfc_conv_intrinsic_subroutine): Call it.
1576 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1577 Mike Stump <mikestump@comcast.net>
1578 Richard Sandiford <rdsandiford@googlemail.com>
1580 * target-memory.c: Include wide-int.h.
1581 (gfc_interpret_logical): Use wide-int interfaces.
1582 * trans-array.c: Include wide-int.h.
1583 (gfc_conv_array_initializer): Use wide-int interfaces.
1584 * trans-const.c: Include wide-int.h.
1585 (gfc_conv_string_init): Use wide-int interfaces.
1586 (gfc_conv_mpz_to_tree): Likewise.
1587 (gfc_conv_tree_to_mpz): Likewise.
1588 * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
1589 * trans-expr.c: Include wide-int.h.
1590 (gfc_conv_cst_int_power): Use wide-int interfaces.
1591 (gfc_string_to_single_character): Likewise.
1592 (gfc_optimize_len_trim): Likewise.
1593 * trans-intrinsic.c: Include wide-int.h.
1594 (trans_this_image): Use wide-int interfaces.
1595 (gfc_conv_intrinsic_bound): Likewise.
1596 (conv_intrinsic_cobound): Likewise.
1597 * trans-types.c (gfc_init_types): Likewise.
1598 (gfc_get_array_type_bounds): Pass an integer of the correct type
1599 instead of using integer_one_node.
1601 2014-04-30 Tobias Burnus <burnus@net-b.de>
1603 * trans-decl.c (create_function_arglist): Add hidden coarray arguments
1604 also for polymorphic coarrays.
1605 * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
1606 also for polymorphic coarrays.
1608 2014-04-30 Tobias Burnus <burnus@net-b.de>
1610 * resolve.c (resolve_function): Don't do
1611 assumed-size check for lcobound/ucobound.
1612 * trans-types.c (gfc_build_array_type): Only build an array
1613 descriptor with codimensions for allocatable coarrays.
1615 2014-04-30 Tobias Burnus <burnus@net-b.de>
1617 * gfortran.h (gfc_init_coarray_decl): Remove.
1618 * parse.c (translate_all_program_units): Remove call to it.
1619 (gfc_parse_file): Update call.
1620 * trans.h (gfor_fndecl_caf_this_image,
1621 gfor_fndecl_caf_num_images): Add.
1622 (gfort_gvar_caf_num_images,
1623 gfort_gvar_caf_this_image): Remove.
1624 * trans-decl.c (gfor_fndecl_caf_this_image,
1625 gfor_fndecl_caf_num_images): Add.
1626 (gfort_gvar_caf_num_images,
1627 gfort_gvar_caf_this_image): Remove.
1628 (gfc_build_builtin_function_decls): Init new decl.
1629 (gfc_init_coarray_dec): Remove.
1630 (create_main_function): Change calls.
1631 * trans-intrinsic.c (trans_this_image, trans_image_index,
1632 conv_intrinsic_cobound): Generate call to new library function
1633 instead of to a static variable.
1634 * trans-stmt.c (gfc_trans_sync): Ditto.
1636 2014-04-30 Tobias Burnus <burnus@net-b.de>
1638 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
1639 and derived-type coarrays.
1641 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1645 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
1646 * arith.c (gfc_int2int): Convert number to signed if
1647 arithmetic overflow is not checked.
1648 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
1649 size if range checking is in force.
1650 (convert_mpz_to_signed): Make non-static, rename to
1651 (gfc_convert_mpz_to_signed).
1652 (simplify_dshift): Use gfc_convert_mpz_to_signed.
1653 (gfc_simplify_ibclr): Likewise.
1654 (gfc_simplify_ibits): Likewise.
1655 (gfc_simplify_ibset): Likewise.
1656 (simplify_shift): Likewise.
1657 (gfc_simplify_ishiftc): Likewise.
1658 (gfc_simplify_maskr): Likewise.
1659 (gfc_simplify_maskl): Likewise.
1661 2014-04-22 Tobias Burnus <burnus@net-b.de>
1664 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
1667 2014-04-17 Jakub Jelinek <jakub@redhat.com>
1669 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
1670 argument is enum machine_mode.
1672 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
1676 * trans.h: Add 'use_offset' bitfield to gfc_se.
1677 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
1678 as a trigger to unconditionally recalculate the offset for
1679 array slices and constant arrays.
1680 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
1681 trans-stmt.c (trans_associate_var): Ditto.
1682 (gfc_conv_procedure_call): Ditto.
1684 2014-04-11 Tobias Burnus <burnus@net-b.de>
1688 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
1689 and finalization wrappers are generated.
1691 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
1693 * intrinsic.texi (RANDOM_SEED): Improve example.
1695 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
1697 * class.c (gfc_build_class_symbol): Append "_t" to target class
1698 names to make the generated type names unique.
1700 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1703 * trans-types.c (gfc_get_function_type): In case of recursion
1704 build a variadic function type with empty argument list instead of a
1705 stdarg-like function type with incomplete argument list.
1707 2014-04-04 Tobias Burnus <burnus@net-b.de>
1709 * check.c (gfc_check_cmplx): Fix typo.
1711 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1712 Tobias Burnus <burnus@net-b.de>
1715 * trans-expr.c (gfc_conv_derived_to_class): Avoid
1716 generation of out-of-bounds range expr.
1718 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1721 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
1724 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1727 * frontend-passes.c (cfe_code): Do not walk subtrees
1730 2014-03-27 Tobias Burnus <burnus@net-b.de>
1733 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
1736 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
1739 * fortran.texi: Document Volatile COMMON as not supported.
1741 2014-03-22 Jakub Jelinek <jakub@redhat.com>
1744 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
1747 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1750 * gfortran.texi: Add description of namelist DELIM= behavior.
1752 2014-03-19 Tobias Burnus <burnus@net-b.>
1755 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
1756 * resolve.c (resolve_ordinary_assign): Ditto.
1758 2014-03-19 Tobias Burnus <burnus@net-b.de>
1762 * gfortran.h (gfc_unset_implicit_pure): New prototype.
1763 * resolve.c (gfc_unset_implicit_pure): New.
1764 (resolve_structure_cons, resolve_function,
1765 pure_subroutine): Use it.
1766 * decl.c (match_old_style_init, gfc_match_data,
1767 match_pointer_init, variable_decl): Ditto.
1768 * expr.c (gfc_check_pointer_assign): Ditto.
1769 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
1770 * io.c (match_vtag, gfc_match_open, gfc_match_close,
1771 match_filepos, gfc_match_inquire, gfc_match_print,
1772 gfc_match_wait): Ditto.
1773 * match.c (gfc_match_critical, gfc_match_stopcode,
1774 lock_unlock_statement, sync_statement, gfc_match_allocate,
1775 gfc_match_deallocate): Ditto.
1776 * parse.c (decode_omp_directive): Ditto.
1777 * symbol.c (gfc_add_save): Ditto.
1779 2014-03-18 Janus Weil <janus@gcc.gnu.org>
1783 * decl.c (match_attr_spec): Revert r208590.
1785 2014-03-18 Jakub Jelinek <jakub@redhat.com>
1788 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
1791 2014-03-18 Tobias Burnus <burnus@net-b.de>
1794 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
1795 (gfc_trans_io_runtime_check): Remove.
1796 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
1797 as argument, add predictor to block.
1798 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
1799 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
1800 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
1801 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
1802 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
1804 * trans-expr.c (gfc_conv_procedure_call): Ditto.
1805 * trans-stmt.c (gfc_trans_allocate): Ditto.
1806 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
1808 2014-03-15 Janus Weil <janus@gcc.gnu.org>
1811 * decl.c (match_attr_spec): Variables in the main program implicitly
1812 get the SAVE attribute in Fortran 2008.
1814 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
1817 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
1818 if it has transposed dimensions.
1820 2014-03-08 Tobias Burnus <burnus@net-b.de>
1823 * f95-lang.c (gfc_init): Return false when only
1825 * options.c (gfc_post_options): Ditto.
1827 2014-03-08 Tobias Burnus <burnus@net-b.de>
1829 * gfortran.texi (Fortran 2003 Status): Mention finalization,
1830 deferred-length character support and input rounding.
1831 (Fortran 2008 Status): Mention that at termination
1832 signalling exceptions are shown.
1834 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
1835 Janus Weil <janus@gcc.gnu.org>
1838 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
1839 * primary.c (build_actual_constructor): It is not an error if
1840 a missing component has the deferred_parameter attribute;
1841 equally, if one is given a value, it is an error.
1842 * resolve.c (resolve_fl_derived0): Remove error for deferred
1843 character length components. Add the hidden string length
1844 field to the structure. Give it the deferred_parameter
1846 * trans-array.c (duplicate_allocatable): Add a strlen field
1847 which is used as the element size if it is non-null.
1848 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
1849 NULL to the new argument in duplicate_allocatable.
1850 (structure_alloc_comps): Set the hidden string length as
1851 appropriate. Use it in calls to duplicate_allocatable.
1852 (gfc_alloc_allocatable_for_assignment): When a deferred length
1853 backend declaration is variable, use that; otherwise use the
1854 string length from the expression evaluation.
1855 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
1856 character length component, the string length should have the
1857 value of the hidden string length field.
1858 (gfc_trans_subcomponent_assign): Set the hidden string length
1859 field for deferred character length components. Allocate the
1860 necessary memory for the string.
1861 (alloc_scalar_allocatable_for_assignment): Same change as in
1862 gfc_alloc_allocatable_for_assignment above.
1863 * trans-stmt.c (gfc_trans_allocate): Likewise.
1864 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
1865 * trans-types.c (gfc_get_derived_type): Set the tree type for
1866 a deferred character length component.
1867 * trans.c (gfc_deferred_strlen): New function.
1868 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
1870 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
1873 * frontend-passes.c (optimize_comparison): Guard two union accesses
1874 with the corresponding tag checks.
1876 2014-02-28 Janus Weil <janus@gcc.gnu.org>
1879 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
1880 procedure for characters.
1882 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1885 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
1888 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1891 * gfortran.h (gfc_build_class_symbol): Removed argument.
1892 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
1893 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
1894 delayed now, except for unlimited polymorphics.
1895 (comp_is_finalizable): Procedure pointer components are not finalizable.
1896 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
1897 'gfc_build_class_symbol'.
1898 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
1900 * symbol.c (gfc_set_default_type): Ditto.
1902 2014-02-19 Janus Weil <janus@gcc.gnu.org>
1905 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
1906 functions, which are used as procedure pointer target.
1908 2014-02-18 Tobias Burnus <burnus@net-b.de>
1911 * expr.c (gfc_check_pointer_assign): Add check for
1913 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
1914 decl in a corner case.
1916 2014-02-18 Janus Weil <janus@gcc.gnu.org>
1919 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
1920 arguments to prevent ICE.
1922 2014-02-17 Janus Weil <janus@gcc.gnu.org>
1925 * resolve.c (build_default_init_expr): Don't initialize character
1926 variable if -fno-automatic is given.
1928 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
1931 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
1932 number of arguments.
1934 2014-02-11 Jakub Jelinek <jakub@redhat.com>
1937 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
1938 on decl if sym->attr.optional.
1940 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1943 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
1944 attribute for the 'associate-name' if necessary.
1945 * trans-stmt.c (trans_associate_var): If the 'associate-name'
1946 is a subref_array_pointer, assign the element size of the
1947 associate variable to 'span'.
1949 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1952 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
1953 actual argument to a formal argument with the value attribute
1954 in an elemental procedure.
1956 2014-02-08 Janus Weil <janus@gcc.gnu.org>
1957 Mikael Morin <mikael.morin@gcc.gnu.org>
1960 * class.c (generate_finalization_wrapper): Assert that proc_tree has
1961 been set in gfc_resolve_finalizers.
1962 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
1965 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
1967 PR translation/52289
1968 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
1969 in an error message.
1971 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
1974 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
1977 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
1980 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
1981 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
1982 pointer to the string is stored.
1983 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
1984 gfc_conv_string_parameter to ensure that a pointer to is passed
1985 to the elemental function.
1987 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
1990 * trans-stmt.c (gfc_trans_allocate): Before the pointer
1991 assignment to transfer the source _vptr to a class allocate
1992 expression, the final class reference should be exposed. The
1993 tail that includes the _data and array references is stored.
1994 This reduced expression is transferred to 'lhs' and the _vptr
1995 added. Then the tail is restored to the allocate expression.
1997 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
2000 * module.c (read_module): Assert for component name correctness.
2002 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
2005 * module.c (MOD_VERSION): Bump.
2006 (fp2, find_pointer2): Remove.
2007 (mio_component_ref): Don't forcedfully set the containing derived type
2008 symbol for loading. Remove unused argument.
2009 (mio_ref): Update caller
2010 (mio_symbol): Dump component list earlier.
2011 (skip_list): New argument nest_level. Initialize level with the new
2013 (read_module): Add forced pointer components association for derived
2016 2014-01-12 Janus Weil <janus@gcc.gnu.org>
2019 * decl.c (gfc_match_data_decl): Improve error recovery.
2021 2014-01-09 Tobias Burnus <burnus@net-b.de>
2023 * cpp.c (gfc_cpp_handle_option): Add missing break.
2024 * trans-io.c (transfer_expr): Silence unused value warning.
2026 2014-01-08 Janus Weil <janus@gcc.gnu.org>
2029 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
2031 2014-01-06 Janus Weil <janus@gcc.gnu.org>
2034 * class.c (comp_is_finalizable): New function to dermine if a given
2035 component is finalizable.
2036 (finalize_component, generate_finalization_wrapper): Use it.
2038 2014-01-06 Janus Weil <janus@gcc.gnu.org>
2042 * resolve.c (resolve_global_procedure): Don't apply to c-binding
2044 (gfc_verify_binding_labels): Remove duplicate line.
2046 2014-01-04 Janus Weil <janus@gcc.gnu.org>
2049 * class.c (add_proc_comp): Copy pure attribute.
2051 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2053 Update copyright years
2055 2014-01-02 Tobias Burnus <burnus@net-b.de>
2057 * gfortranspec.c (lang_specific_driver): Update copyright notice
2059 * gfc-internals.texi: Bump @copying's copyright year.
2060 * gfortran.texi: Ditto.
2061 * intrinsic.texi: Ditto.
2062 * invoke.texi: Ditto.
2064 2014-01-02 Janus Weil <janus@gcc.gnu.org>
2067 * resolve.c (resolve_typebound_procedures): No need to create the vtab
2070 Copyright (C) 2014 Free Software Foundation, Inc.
2072 Copying and distribution of this file, with or without modification,
2073 are permitted in any medium without royalty provided the copyright
2074 notice and this notice are preserved.