1 2014-11-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4 * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.
6 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
10 * gfortran.texi: Add note about locale issues to thread-safety
13 2014-11-04 Bernd Schmidt <bernds@codesourcery.com>
15 * f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
16 scalbn, scalbnl and scalbnf.
17 * mathbuiltins.def (JN, YN): Use type index 5.
19 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
21 * trans-types.c, trans-types.h: Remove redundant enum from
24 2014-10-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
27 * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2.
28 (gfc_error_cmdline): Rename as gfc_error_now_2.
29 * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space.
30 (gfc_diagnostic_starter): Add space between locus and prefix.
31 (gfc_warning_now_2): Renamed from gfc_warning_cmdline.
32 (gfc_error_now_2): Renamed from gfc_error_cmdline.
33 * scanner.c (add_path_to_list): Use gfc_warning_now_2.
34 (load_line): Likewise.
35 (load_file): Likewise.
36 * options.c (gfc_post_options): Update all renamed functions.
38 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
40 * f95-lang.c: Adjust include files.
41 * trans-decl.c: Ditto.
43 2014-10-24 Tobias Burnus <burnus@net-b.de>
45 * check.c (check_co_collective): Reject coindexed A args.
46 (gfc_check_co_reduce): Add OPERATOR checks.
47 * gfortran.texi (_gfortran_caf_co_broadcast, _gfortran_caf_co_max,
48 _gfortran_caf_co_min, _gfortran_caf_co_sum,
49 _gfortran_caf_co_reduce): Add ABI documentation.
50 * intrinsic.texi (CO_REDUCE): Document intrinsic.
51 (DPROD): Returns double not single precision.
52 * trans-decl.c (gfor_fndecl_co_reduce): New global var.
53 (gfc_build_builtin_function_decls): Init it.
54 * trans.h (gfor_fndecl_co_reduce): Declare it.
55 * trans-intrinsic.c (conv_co_collective,
56 gfc_conv_intrinsic_subroutine): Handle CO_REDUCE.
58 2014-10-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
61 * trans-const.c (gfc_build_nan): New function.
62 * trans-const.h (gfc_build_nan): New prototype.
63 * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special
65 (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan.
66 (gfc_conv_intrinsic_fraction): Handle special values.
67 (gfc_conv_intrinsic_spacing): Likewise.
68 (gfc_conv_intrinsic_rrspacing): Likewise.
69 (gfc_conv_intrinsic_set_exponent): Likewise.
71 2014-10-18 Paul Thomas <pault@gcc.gnu.org>
74 * resolve.c (resolve_ordinary_assign): Add data component to
75 rvalue expression for class to type assignment.
77 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
79 * f95-lang.c: Adjust include files.
80 * trans-decl.c: Likewise.
82 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
84 * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
86 2014-10-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
89 * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
90 (gfc_simplify_log): Likewise.
91 (gfc_simplify_scale): Likewise.
92 (gfc_simplify_exponent): Handle infinities and NaNs.
93 (gfc_simplify_fraction): Handle infinities.
94 (gfc_simplify_rrspacing): Handle signed zeros and NaNs.
95 (gfc_simplify_set_exponent): Handle infinities and NaNs.
96 (gfc_simplify_spacing): Handle zeros, infinities and NaNs.
98 2014-10-10 Jakub Jelinek <jakub@redhat.com>
101 * trans-openmp.c (gfc_omp_predetermined_sharing): Return
102 OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
104 2014-10-10 Tobias Burnus <burnus@net-b.de>
106 * gfortran.h (gfc_set_implicit_none): Update prototype.
107 * symbol.c (gfc_set_implicit_none): Take and
108 use error location. Move diagnostic from here to ...
109 * decl.c (gfc_match_implicit_none): ... here. And
110 update call. Handle empty implicit-none-spec.
111 (gfc_match_implicit): Handle statement-separator ";".
113 2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
115 * f95-lang.c (gfc_init_builtin_functions): Add more floating-point
117 * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
118 remainder, rint and signbit.
119 * trans-decl.c (save_fp_state, restore_fp_state): Move to
121 (gfc_generate_function_code): Use new names for these two functions.
122 * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
123 emit code from the front-end.
124 * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
125 conv_ieee_function_args, conv_intrinsic_ieee_builtin,
126 conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
127 conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
128 conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
129 conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
131 * trans.h (gfc_conv_ieee_arithmetic_function,
132 gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
134 2014-10-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
138 * gfortran.h (gfc_warning_cmdline): Add overload that takes an
140 (gfc_error_cmdline): Declare.
141 * error.c (gfc_warning_cmdline): New overload that takes an option.
142 (gfc_error_cmdline): New.
143 * lang.opt (Wmissing-include-dirs): New.
144 * scanner.c (add_path_to_list): Use the new functions.
145 (load_file): Likewise.
146 * options.c (gfc_init_options): Wmissing-include-dirs is enabled
147 by default in Fortran.
148 (gfc_handle_option): Accept automatically handled options.
150 2014-10-06 Tobias Burnus <burnus@net-b.de>
152 * libgfortran.h (GFC_STD_F2015): Add.
153 * decl.c (gfc_match_implicit_none): Handle spec list.
154 (gfc_match_implicit): Move double intrinsic warning here.
155 * gfortran.h (gfc_namespace): Add has_implicit_none_export:1.
156 (gfc_set_implicit_none): Update interface.
157 * interface.c (gfc_procedure_use): Add implicit-none external
159 * parse.c (accept_statement): Remove call.
160 (verify_st_order): Permit that external-implict-none follows
162 * symbol.c (gfc_set_implicit_none): Handle external/type
165 2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
168 * resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
170 2014-09-25 Tobias Burnus <burnus@net-b.de>
172 * check.c (check_co_collective): Renamed from check_co_minmaxsum,
174 (gfc_check_co_minmax, gfc_check_co_sum): Update call.
175 (gfc_check_co_broadcast, gfc_check_co_reduce): New.
176 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
178 * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
179 * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
181 * intrinsic.texi (CO_BROADCAST): Add.
182 * trans.h (gfor_fndecl_co_broadcast): New.
183 * trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
184 (gfc_build_builtin_function_decls): Add decl for it,
185 * trans-intrinsic.c (conv_co_collective): Renamed from
186 conv_co_minmaxsum. Handle co_reduce.
187 (gfc_conv_intrinsic_subroutine): Handle co_reduce.
189 2014-09-23 Jakub Jelinek <jakub@redhat.com>
192 * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
193 instead of VAR_DECL for base_decl.
195 2014-09-21 Jan Hubicka <hubicka@ucw.cz>
197 * openmp.c (omp_context): Rename to ...
198 (fortran_omp_context): ... this one.
200 2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
202 * resolve.c (resolve_fl_procedure): Remove duplicated lines.
204 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
205 Tobias Burnus <burnus@net-b.de>
207 * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
208 generating temporary for value argument.
210 2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
212 * trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
213 (gfc_conv_class_to_class): Likewise.
214 (gfc_conv_procedure_call): Likewise.
215 (arrayfunc_assign_needs_temporary): Likewise.
216 (realloc_lhs_loop_for_fcn_call): Likewise.
217 (gfc_trans_assignment_1): Likewise.
218 * trans-array.c (gfc_conv_array_ref): Likewise.
219 (gfc_array_allocate): Likewise.
220 (gfc_alloc_allocatable_for_assignment): Likewise.
221 * symbol.c (generate_isocbinding_symbol): Likewise.
222 * class.c (finalization_scalarizer): Likewise.
223 (finalizer_insert_packed_call): Likewise.
224 (generate_finalization_wrapper): Likewise.
225 (find_intrinsic_vtab): Likewise.
226 * decl.c (gfc_match_import): Likewise.
227 (match_procedure_decl): Likewise.
228 (gfc_match_subroutine): Likewise.
229 (gfc_match_bind_c): Likewise.
230 (gfc_match_volatile): Likewise.
231 * trans-common.c (create_common): Likewise.
232 * error.c (gfc_diagnostic_starter): Likewise.
233 * trans-stmt.c (gfc_trans_sync): Likewise.
234 (gfc_trans_critical): Likewise.
235 (gfc_trans_simple_do): Likewise.
236 (gfc_trans_do): Likewise.
237 (gfc_trans_where_assign): Likewise.
238 * expr.c (gfc_is_simply_contiguous): Likewise.
239 * module.c (unquote_string): Likewise.
240 * trans.c (gfc_add_finalizer_call): Likewise.
241 * trans-types.c (gfc_init_kinds): Likewise.
242 * scanner.c (preprocessor_line): Likewise.
243 * gfortranspec.c (lang_specific_driver): Likewise.
244 * frontend-passes.c (create_var): Likewise.
245 (cfe_expr_0): Likewise.
246 * resolve.c (check_host_association): Likewise.
247 (gfc_resolve_code): Likewise.
248 (resolve_fl_derived0): Likewise.
249 (resolve_symbol): Likewise.
250 * f95-lang.c (poplevel): Likewise.
251 * trans-decl.c (create_main_function): Likewise.
252 * trans-io.c (transfer_expr): Likewise.
253 * arith.c (gfc_arith_divide): Likewise.
254 * parse.c (resolve_all_program_units): Likewise.
255 * check.c (gfc_check_rank): Likewise.
256 (gfc_check_sizeof): Likewise.
257 (is_c_interoperable): Likewise.
258 * dependency.c (gfc_dep_difference): Likewise.
259 * primary.c (gfc_match_rvalue): Likewise.
260 * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
261 (conv_isocbinding_subroutine): Likewise.
262 * options.c (gfc_post_options): Likewise.
263 (gfc_handle_fpe_option): Likewise.
264 (gfc_get_option_string): Likewise.
265 * simplify.c (simplify_transformation_to_scalar): Likewise.
266 (gfc_simplify_spread): Likewise.
268 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
271 * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
273 2014-09-15 Jakub Jelinek <jakub@redhat.com>
275 * Make-lang.in (check_gfortran_parallelize): Change to just an upper
278 2014-09-13 Tobias Burnus <burnus@net-b.de>
281 * trans-decl.c (gfc_build_builtin_function_decls): Fix
282 caf_unlock declaration.
284 2014-09-12 Joseph Myers <joseph@codesourcery.com>
286 * trans-types.c (gfc_init_kinds): Check
287 targetm.libgcc_floating_mode_supported_p for floating-point
288 modes. Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE.
290 2014-09-05 Joost VandeVondele <vondele@gcc.gnu.org>
293 * intrinsic.texi (INT): clarify result.
295 2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
298 * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
299 when matching a component declaration.
301 2014-09-02 Marek Polacek <polacek@redhat.com>
304 * interface.c (compare_parameter): Fix condition.
305 * trans-expr.c (gfc_conv_procedure_call): Likewise.
307 2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
310 * resolve.c (apply_default_init_local): Don't treat variables
311 in RECURSIVE procedures as saved.
313 2014-08-31 Tobias Burnus <burnus@net-b.de>
315 * trans-decl.c (gfc_build_builtin_function_decls): Add
316 may_require_tmp dummy argument.
317 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
318 conv_caf_send): Handle may_require_tmp argument.
319 (gfc_conv_intrinsic_function): Update call.
320 * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
321 _gfortran_caf_sendget): Update interface description.
323 2014-08-30 Tobias Burnus <burnus@net-b.de>
325 * trans.h (gfc_caf_get_image_index,
326 gfc_get_caf_token_offset): New prototypes.
327 * trans-expr.c (gfc_caf_get_image_index): Moved from
328 trans-intrinsic.c and renamed.
329 (gfc_get_caf_token_offset) Ditto; support offset = NULL
331 * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
333 (gfc_conv_intrinsic_caf_get, conv_caf_send,
334 conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
335 conv_intrinsic_atomic_cas): Update callers.
337 2014-08-30 Tobias Burnus <burnus@net-b.de>
342 * dependency.c (gfc_check_dependency): Allow for optimizations
343 in the pointer-alias check.
345 2014-08-30 Janne Blomqvist <jb@gcc.gnu.org>
347 * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
350 2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com>
353 * module.c (gfc_dump_module): Unlink old module file before
356 2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
358 * frontend_passes (expr_array): Replace by vec template.
360 (expr_count): Remove.
361 (doloop_list): Replace by vec template.
362 (doloop_size): Remove.
363 (gfc_run_passes): Adjust to use of vec template.
364 (cfe_register_funcs): Likewise.
365 (cfe_expr_0): Likewise.
366 (doloop_code): Likewise.
368 2014-08-22 Steven Bosscher <steven@gcc.gnu.org>
371 * resolve.c (resolve_select): Fix list traversal in case the
372 last element of the CASE list was dropped as unreachable code.
374 2014-08-22 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
377 * lang.opt (Wuse-without-only): New flag.
378 * gfortran.h (gfc_option_t): Add it.
379 * invoke.texi: Document it.
380 * module.c (gfc_use_module): Warn if needed.
381 * options.c (gfc_init_options,gfc_handle_option): Init accordingly.
383 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
386 * frontend-passes.c (optimize_binop_array_assignment):
387 Do not try to optimize the array assignment for string
390 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
393 * error.c (gfc_diagnostic_build_locus_prefix): New function.
394 (gfc_diagnostic_starter): Follow Fortran FE diagnostics.
395 (gfc_diagnostic_finalizer): Do not call default finalizer.
397 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
400 * error.c (gfc_diagnostic_finalizer): Call default finalizer.
402 2014-08-20 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
404 * options.c (gfc_init_options_struct): assert that the frontend sets
405 flag_errno_math and flag_associative_math.
407 2014-08-17 Tobias Burnus <burnus@net-b.de>
409 * resolve.c (gfc_resolve_finalizers): Ensure that parents are
412 2014-08-17 Tobias Burnus <burnus@net-b.de>
414 * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
416 (transfer_namelist_element): Use proper int type as argument.
418 2014-08-15 Thomas Koenig <tkoenig@gcc.gnu.org>
421 * trans-expr.c (is_runtime_conformable): Add NULL pointer checks.
423 2014-08-15 Tobias Burnus <burnus@net-b.de>
425 * resolve.c (resolve_critical): Fix name mangling.
426 * trans-stmt.c (gfc_trans_critical): Fix lock call.
428 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
431 * gfortran.h: Define GCC_DIAG_STYLE.
432 (gfc_diagnostics_init,gfc_warning_cmdline): Declare.
433 * trans-array.c: Include gfortran.h before diagnostic-core.h.
434 * trans-expr.c: Likewise.
435 * trans-openmp.c: Likewise.
436 * trans-const.c: Likewise.
438 * trans-types.c: Likewise.
439 * f95-lang.c: Likewise.
440 * trans-decl.c: Likewise.
441 * trans-io.c: Likewise.
442 * trans-intrinsic.c: Likewise.
443 * error.c: Include diagnostic.h and diagnostic-color.h.
444 (gfc_diagnostic_build_prefix): New.
445 (gfc_diagnostic_starter): New.
446 (gfc_diagnostic_finalizer): New.
447 (gfc_warning_cmdline): New.
448 (gfc_diagnostics_init): New.
449 * gfc-diagnostic.def: New.
450 * options.c (gfc_init_options): Call gfc_diagnostics_init.
451 (gfc_post_options): Use gfc_warning_cmdline.
453 2014-08-15 Jakub Jelinek <jakub@redhat.com>
454 Tobias Burnus <burnus@net-b.de>
457 * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
458 is allocatable, rather than whenever var->attr.allocatable.
460 2014-08-15 Jakub Jelinek <jakub@redhat.com>
463 * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
464 or allocatable passed by reference.
465 (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.
467 2014-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
470 * gfortran.h (symbol_attribute): Add fe_temp flag.
471 * frontend-passes.c (is_fe_temp): New function.
472 (create_var): Don't add a temporary for an already
473 created variable or for a constant.
474 (combine_ARRAY_constructor): Remove special handling
477 2014-08-14 Tobias Burnus <burnus@net-b.de>
479 * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
480 (_gfortran_caf_register): Update for locking/critical.
481 (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
482 * resolve.c (resolve_critical): New.
483 (gfc_resolve_code): Call it.
484 * trans-decl.c (gfor_fndecl_caf_critical,
485 gfor_fndecl_caf_end_critical): Remove.
486 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
487 (gfc_build_builtin_function_decls): Remove critical,
488 assign locking declarations.
489 (generate_coarray_sym_init): Handle locking and
491 * trans-stmt.c (gfc_trans_critical): Add calls to
492 lock/unlock libcaf functions.
493 * trans.h (gfc_coarray_type): Update locking, add
494 critical enum values.
495 (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
496 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
498 2014-08-14 Tobias Burnus <burnus@net-b.de>
500 * gfortran.texi (Coarray Programming): Add first ABI
503 2014-08-14 Jakub Jelinek <jakub@redhat.com>
506 * openmp.c (gfc_match_omp_clauses): When failed to match
507 operator name, defined op name or name, set buffer to
508 empty string. Don't call gfc_find_omp_udr if buffer is empty
510 (gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
511 before calling gfc_free_omp_udr.
513 2014-08-11 Richard Biener <rguenther@suse.de>
516 * trans-expr.c (gfc_conv_structure): Initialize _size with
517 a value of proper type.
519 2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
522 * simplify.c (gfc_simplify_dot_product): Convert types of
523 vectors before calculating the result.
525 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
527 * openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
529 2014-07-26 Tobias Burnus <burnus@net-b.de>
534 * intrinsic.texi (SIZEOF): Document changed behavior
535 for polymorphic arrays.
537 2014-07-26 Tobias Burnus <burnus@net-b.de>
542 * check.c (gfc_check_sizeof): Permit for assumed type if and
543 only if it has an array descriptor.
544 * intrinsic.c (do_ts29113_check): Permit SIZEOF.
545 (add_functions): SIZEOF is an Inquiry function.
546 * intrinsic.texi (SIZEOF): Add note that only contiguous
547 arrays are permitted.
548 * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
550 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
551 assumed type + array descriptor, CLASS and assumed rank.
552 (gfc_conv_intrinsic_storage_size): Handle class arrays.
554 2014-07-25 Tobias Burnus <burnus@net-b.de>
556 * simplify.c (gfc_simplify_storage_size): Use proper
557 integer kind for the returned value.
559 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
561 * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
562 correct menu position to match sectioning.
564 2014-06-15 Tobias Burnus <burnus@net-b.de>
566 * symbol.c (check_conflict): Add codimension conflict with
567 pointer; fix cray-pointee check.
569 2014-06-14 Tobias Burnus <burnus@net-b.de>
571 * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
572 for kind mismatch with -fcoarray=lib.
574 2014-07-12 Paul Thomas <pault@gcc.gnu.org>
577 * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
578 that elements are skipped. This then correctly aligns 'reverse'
579 with the scalarizer loops.
581 2014-07-12 Tobias Burnus <burnus@net-b.de>
584 * trans-types.c (gfc_init_types): Fix data-type bug
585 with gfc_max_array_element_size.
587 2014-07-12 Tobias Burnus <burnus@net-b.de>
589 * libgfortran.h (libcaf_atomic_codes): Add.
590 * trans-decl.c (gfor_fndecl_caf_atomic_def,
591 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
592 gfor_fndecl_caf_atomic_op): New variables.
593 (gfc_build_builtin_function_decls): Initialize them.
594 * trans.h (gfor_fndecl_caf_atomic_def,
595 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
596 gfor_fndecl_caf_atomic_op): New variables.
597 * trans-intrinsic.c (conv_intrinsic_atomic_op,
598 conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
599 Add library calls with -fcoarray=lib.
601 2014-07-12 Tobias Burnus <burnus@net-b.de>
603 * check.c (gfc_check_atomic): Update for STAT=.
604 (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
605 (gfc_check_atomic_op, gfc_check_atomic_cas,
606 gfc_check_atomic_fetch_op): New.
607 * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
608 GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
609 GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
610 GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
611 * intrinsic.c (add_subroutines): Handle them.
612 * intrinsic.texi: Add documentation for them.
613 (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
614 (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
615 * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
616 gfc_check_atomic_fetch_op): New
618 * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
619 * iso-fortran-env.def: Add it.
620 * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
621 conv_intrinsic_atomic_ref; handle more atomics.
622 (conv_intrinsic_atomic_def): Handle STAT=.
623 (conv_intrinsic_atomic_cas): New.
624 (gfc_conv_intrinsic_subroutine): Handle new atomics.
626 2014-07-09 Bernd Schmidt <bernds@codesourcery.com>
628 * trans-array.c (gfc_build_constant_array_constructor): Build a
629 static decl manually.
630 * trans-decl.c (create_main_function): Likewise.
632 2014-07-07 Paul Thomas <pault@gcc.gnu.org>
636 * trans-expr.c (fcncall_realloc_result): Use the natural type
637 for the address expression of 'res_desc'.
639 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com>
641 * gfortran.texi (Fortran 2003 status): Fix grammar.
643 2014-07-04 Tobias Burnus <burnus@net-b.de>
645 * resolve.c (resolve_assoc_var): Fix corank setting.
646 * trans-array.c (gfc_conv_descriptor_token): Change assert.
647 for select-type temporaries.
648 * trans-decl.c (generate_coarray_sym_init): Skip for
649 attr.select_type_temporary.
650 * trans-expr.c (gfc_conv_procedure_call): Fix for
651 select-type temporaries.
652 * trans-intrinsic.c (get_caf_token_offset): Ditto.
653 (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
655 * trans-types.h (gfc_get_dtype_rank_type): New.
656 * trans-types.c (gfc_get_dtype_rank_type): Ditto.
658 2014-07-03 Tobias Burnus <burnus@net-b.de>
660 * scanner.c (skip_free_comments): Fix indentation.
662 2014-07-02 Jakub Jelinek <jakub@redhat.com>
663 Fritz Reese <Reese-Fritz@zai.com>
665 * decl.c (variable_decl): Reject old style initialization
666 for derived type components.
668 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
672 * decl.c (check_bind_name_identifier): New function.
673 (gfc_match_bind_c): Match any constant expression as binding
675 * match.c (gfc_match_name_C): Remove.
677 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
680 * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
681 * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
683 * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
684 * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
685 * module.c (mio_symbol): Keep track of symbols which came from
687 (gfc_use_module): Keep track of the IEEE modules.
688 * trans-decl.c (gfc_get_symbol_decl): Adjust code since
689 we have new intrinsic modules.
690 (gfc_build_builtin_function_decls): Build decls for
691 ieee_procedure_entry and ieee_procedure_exit.
692 (is_from_ieee_module, is_ieee_module_used, save_fp_state,
693 restore_fp_state): New functions.
694 (gfc_generate_function_code): Save and restore floating-point
695 state on procedure entry/exit, when IEEE modules are used.
696 * intrinsic.texi: Document the IEEE modules.
698 2014-06-25 Tobias Burnus <burnus@net-b.de>
700 * interface.c (check_intents): Fix diagnostic with
703 2014-06-25 Tobias Burnus <burnus@net-b.de>
705 * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
706 when assigning a coindexed RHS scalar to a noncoindexed LHS
708 * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
709 for a noncoindexed scalar RHS.
711 2014-06-25 Tobias Burnus <burnus@net-b.de>
713 * check.c (check_co_minmaxsum): Add definable check.
714 * expr.c (gfc_check_vardef_context): Fix context == NULL case.
715 * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
717 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
720 2014-06-25 Jakub Jelinek <jakub@redhat.com>
722 * trans.h (gfc_omp_clause_linear_ctor): New prototype.
723 * trans-openmp.c (gfc_omp_linear_clause_add_loop,
724 gfc_omp_clause_linear_ctor): New functions.
725 (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
726 correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
727 * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
729 2014-06-24 Jakub Jelinek <jakub@redhat.com>
731 * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
733 * f95-lang.c (gfc_init_builtin_functions): Initialize
734 BUILT_IN_ASSUME_ALIGNED.
735 * gfortran.h (gfc_omp_namelist): Change udr field type to
736 struct gfc_omp_namelist_udr.
737 (gfc_omp_namelist_udr): New type.
738 (gfc_get_omp_namelist_udr): Define.
739 (gfc_resolve_code): New prototype.
740 * match.c (gfc_free_omp_namelist): Free name->udr.
741 * module.c (intrinsics): Add INTRINSIC_USER.
742 (fix_mio_expr): Likewise.
743 (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
744 * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
745 (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
746 Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
747 (struct resolve_omp_udr_callback_data): New type.
748 (resolve_omp_udr_callback, resolve_omp_udr_callback2,
749 resolve_omp_udr_clause): New functions.
750 (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
752 (omp_udr_callback): Don't check for implicitly declared functions
754 (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
755 implicitly declared subroutines here.
756 * resolve.c (resolve_function): If value.function.isym is non-NULL,
757 consider it already resolved.
758 (resolve_code): Renamed to ...
759 (gfc_resolve_code): ... this. No longer static.
760 (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
762 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
763 by reference type (C_PTR) variables.
764 (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
765 (gfc_trans_omp_udr_expr): Remove.
766 (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
767 Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
768 expand it as assignment or subroutine call. Don't initialize
771 2014-06-23 Tobias Burnus <burnus@net-b.de>
773 * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
774 explicit-size arrays with -fcoarray=lib.
776 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
779 * invoke.texi: Don't mention nonexisting -fcase-lower option.
781 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
784 * expr.c (scalarize_intrinsic_call): Take care of optional
787 2014-06-19 Tobias Burnus <burnus@net-b.de>
789 * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
792 2014-06-18 Tobias Burnus <burnus@net-b.de>
794 * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
795 * intrinsic.texi (OpenMP Modules): Ditto.
797 2014-06-18 Jakub Jelinek <jakub@redhat.com>
799 * cpp.c (cpp_define_builtins): Change _OPENMP macro to
801 * dump-parse-tree.c (show_omp_namelist): Add list_type
802 argument. Adjust for rop being u.reduction_op now,
803 handle depend_op or map_op.
804 (show_omp_node): Adjust callers. Print some new
805 OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
806 becoming a single OMP_LIST_DEPEND.
807 * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
809 (gfc_attribute_table): New variable.
810 (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
811 * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
812 EXEC_OMP_* codes and new clauses.
813 * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
814 ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
815 ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
816 ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
817 ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
818 ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
819 ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
820 ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
821 ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
822 ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
823 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
824 ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
825 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
826 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
827 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
828 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
829 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
830 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
831 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
832 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
833 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
834 (symbol_attribute): Add omp_declare_target field.
835 (gfc_omp_depend_op, gfc_omp_map_op): New enums.
836 (gfc_omp_namelist): Replace rop field with union
837 containing reduction_op, depend_op and map_op.
838 (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
839 (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
840 (gfc_omp_clauses): Add num_teams, device, thread_limit,
841 dist_sched_kind, dist_chunk_size fields.
842 (gfc_common_head): Add omp_declare_target field.
843 (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
844 EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
845 EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
846 EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
847 EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
848 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
849 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
850 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
851 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
852 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
853 EXEC_OMP_TARGET_UPDATE.
854 (gfc_add_omp_declare_target): New prototype.
855 * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
856 gfc_match_omp_distribute_parallel_do,
857 gfc_match_omp_distribute_parallel_do_simd,
858 gfc_match_omp_distribute_simd, gfc_match_omp_target,
859 gfc_match_omp_target_data, gfc_match_omp_target_teams,
860 gfc_match_omp_target_teams_distribute,
861 gfc_match_omp_target_teams_distribute_parallel_do,
862 gfc_match_omp_target_teams_distribute_parallel_do_simd,
863 gfc_match_omp_target_teams_distribute_simd,
864 gfc_match_omp_target_update, gfc_match_omp_teams,
865 gfc_match_omp_teams_distribute,
866 gfc_match_omp_teams_distribute_parallel_do,
867 gfc_match_omp_teams_distribute_parallel_do_simd,
868 gfc_match_omp_teams_distribute_simd): New prototypes.
869 * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
870 (attr_bits): Likewise.
871 (mio_symbol_attribute): Handle omp_declare_target attribute.
872 (gfc_free_omp_clauses): Free num_teams, device, thread_limit
873 and dist_chunk_size expressions.
874 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
875 OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
876 OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
877 OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
878 OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
879 OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
880 OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
881 OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
882 OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
883 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
884 OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
885 OMP_CLAUSE_DIST_SCHEDULE): Define.
886 (gfc_match_omp_clauses): Change mask parameter to unsigned int.
887 Adjust for rop becoming u.reduction_op. Disallow inbranch with
888 notinbranch. For depend clause, always create OMP_LIST_DEPEND
889 and fill in u.depend_op. Handle num_teams, device, map,
890 to, from, thread_limit and dist_schedule clauses.
891 (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
892 OMP_CLAUSE_NOTINBRANCH.
893 (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
894 OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
895 OMP_DISTRIBUTE_CLAUSES): Define.
896 (match_omp): New function.
897 (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
898 gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
899 gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
900 gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
901 gfc_match_omp_task): Rewritten using match_omp.
902 (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
903 Diagnose if the directives are followed by unexpected junk.
904 (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
905 gfc_match_omp_distribute_parallel_do_simd,
906 gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
907 gfc_match_omp_target, gfc_match_omp_target_data,
908 gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
909 gfc_match_omp_target_teams_distribute_parallel_do,
910 gfc_match_omp_target_teams_distribute_parallel_do_simd,
911 gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
912 gfc_match_omp_teams, gfc_match_omp_teams_distribute,
913 gfc_match_omp_teams_distribute_parallel_do,
914 gfc_match_omp_teams_distribute_parallel_do_simd,
915 gfc_match_omp_teams_distrbute_simd): New functions.
916 * openmp.c (resolve_omp_clauses): Adjust for
917 OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle
918 OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
919 dist_chunk_size and thread_limit.
920 (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
921 ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various
922 new EXEC_OMP_* codes.
923 (resolve_omp_do): Handle various new EXEC_OMP_* codes.
924 (gfc_resolve_omp_directive): Likewise.
925 (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
926 * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
927 offloading related directives.
928 (case_executable): Add ST_OMP_TARGET_UPDATE.
929 (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
931 (case_decl): Add ST_OMP_DECLARE_TARGET.
932 (gfc_ascii_statement): Handle new ST_OMP_* codes.
933 (parse_omp_do): Handle various new ST_OMP_* codes.
934 (parse_executable): Likewise.
935 * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
937 (resolve_code): Likewise.
938 (resolve_symbol): Change that !$OMP DECLARE TARGET variables
940 * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
941 * symbol.c (check_conflict): Check omp_declare_target conflicts.
942 (gfc_add_omp_declare_target): New function.
943 (gfc_copy_attr): Copy omp_declare_target.
944 * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
945 * trans-common.c (build_common_decl): Add "omp declare target"
947 * trans-decl.c (add_attributes_to_decl): Likewise.
948 * trans.h (gfc_omp_finish_clause): New prototype.
949 * trans-openmp.c (gfc_omp_finish_clause): New function.
950 (gfc_trans_omp_reduction_list): Adjust for rop being renamed
952 (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
953 change to OMP_LIST_DEPEND and fix up depend handling.
954 Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
955 thread_limit, device, dist_chunk_size and dist_sched_kind.
956 (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
957 (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
958 GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
959 GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
960 (gfc_split_omp_clauses): Handle splitting of clauses for new
962 (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
963 callable for combined constructs.
964 (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
965 (gfc_trans_omp_distribute, gfc_trans_omp_teams,
966 gfc_trans_omp_target, gfc_trans_omp_target_data,
967 gfc_trans_omp_target_update): New functions.
968 (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
969 new EXEC_OMP_* codes.
971 2014-06-18 Tobias Burnus <burnus@net-b.de>
974 * invoke.texi (-Wunused-parameter): Make clearer when
975 -Wextra implies this option.
977 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
980 * options.c (gfc_handle_option): Remove call to
981 handle_generated_option.
983 2014-06-17 Tobias Burnus <burnus@net-b.de>
985 * check.c (gfc_check_atomic, gfc_check_atomic_def):
986 Use argument for GFC_ISYM_CAF_GET.
987 * resolve.c (resolve_variable): Enable CAF_GET insertion.
988 (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
989 (resolve_ordinary_assign): Enable CAF_SEND insertion.
990 * trans-const.c (gfc_build_string_const,
991 gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
992 * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
993 gfor_fndecl_caf_sendget): New global variables.
994 (gfc_build_builtin_function_decls): Initialize them;
995 update co_min/max/sum initialization.
996 * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
997 get_tree_for_caf_expr and removed static.
998 (gfc_conv_procedure_call): Update call.
999 * trans-intrinsic.c (caf_get_image_index,
1000 conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
1001 get_caf_token_offset, gfc_conv_intrinsic_caf_get,
1002 conv_caf_send): New.
1003 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
1004 gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
1005 (conv_co_minmaxsum): Update call for remove unused vector
1007 (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
1008 Skip a CAF_GET of the argument.
1009 * trans-types.c (gfc_get_caf_vector_type): New.
1010 * trans-types.h (gfc_get_caf_vector_type): New.
1011 * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
1012 gfor_fndecl_caf_sendget): New global variables.
1013 (gfc_get_tree_for_caf_expr): New prototypes.
1015 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
1017 * trans-common.c (build_common_decl): Use
1019 * trans-decl.c (gfc_finish_var_decl): Likewise.
1020 (get_proc_pointer_decl): Likewise.
1022 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1026 * check.c (gfc_check_system_clock): Improve checking of arguments.
1027 * intrinsic.texi: Update doc of SYSTEM_CLOCK.
1028 * iresolve.c (gfc_resolve_system_clock): Choose library function
1029 used depending on argument kinds.
1030 * trans-decl.c (gfc_build_intrinsic_function_decls): Build
1031 decls for system_clock_4 and system_clock_8.
1032 * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
1033 (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
1034 * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
1037 2014-06-12 Tobias Burnus <burnus@net-b.de>
1039 * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
1040 * symbol.c (gfc_copy_formal_args_intr): Handle the case
1041 that absent optional arguments should be ignored.
1042 * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
1043 (gfc_conv_intrinsic_funcall,
1044 conv_generic_with_optional_char_arg): Update call.
1045 * resolve.c (gfc_resolve_intrinsic): Ditto.
1047 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr>
1048 Mikael Morin <mikael@gcc.gnu.org>
1051 * trans-expr.c (gfc_conv_expr_reference): Deallocate array
1054 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1057 * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
1059 * openmp.c (resolve_omp_clauses): Remove allocatable components
1060 diagnostics. Add associate-name and intent(in) pointer
1061 diagnostics for various clauses, diagnose procedure pointers in
1063 * parse.c (match_word_omp_simd): New function.
1064 (matchs, matcho): New macros.
1065 (decode_omp_directive): Change match macros to either matchs
1066 or matcho. Handle -fopenmp-simd.
1067 (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
1068 * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
1070 * trans-array.c (get_full_array_size): Rename to...
1071 (gfc_full_array_size): ... this. No longer static.
1072 (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument
1074 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
1075 duplicate_allocatable callers.
1076 (gfc_duplicate_allocatable_nocopy): New function.
1077 (structure_alloc_comps): Adjust g*_full_array_size and
1078 duplicate_allocatable caller.
1079 * trans-array.h (gfc_full_array_size,
1080 gfc_duplicate_allocatable_nocopy): New prototypes.
1081 * trans-common.c (create_common): Call gfc_finish_decl_attrs.
1082 * trans-decl.c (gfc_finish_decl_attrs): New function.
1083 (gfc_finish_var_decl, create_function_arglist,
1084 gfc_get_fake_result_decl): Call it.
1085 (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
1086 don't allocate it again.
1087 (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
1089 * trans.h (gfc_finish_decl_attrs): New prototype.
1090 (struct lang_decl): Add scalar_allocatable and scalar_pointer
1092 (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
1093 GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
1094 GFC_DECL_ASSOCIATE_VAR_P): Define.
1095 (GFC_POINTER_TYPE_P): Remove.
1096 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
1097 GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
1098 GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
1099 (gfc_omp_predetermined_sharing): Associate-names are predetermined.
1100 (enum walk_alloc_comps): New.
1101 (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
1102 gfc_walk_alloc_comps): New functions.
1103 (gfc_omp_private_outer_ref): Return true for scalar allocatables or
1104 decls with allocatable components.
1105 (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
1106 gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
1107 allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
1108 allocatables and decls with allocatable components.
1109 (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
1111 (gfc_trans_omp_reduction_list): Call
1112 gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
1113 (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
1114 (gfc_trans_omp_parallel_do_simd): Likewise.
1115 * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
1116 (gfc_get_derived_type): Call gfc_finish_decl_attrs.
1118 2014-06-09 Paul Thomas <pault@gcc.gnu.org>
1121 * trans-stmt.c (trans_associate_var): Check that array
1122 constructors are constant for direct reference.
1124 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1127 * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
1128 BESSEL_Y0, and BESSEL_Y1.
1130 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1133 * trans-decl.c (gfc_create_module_variable): Don't create
1134 Cray-pointee decls twice.
1136 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1138 * io.c (resolve_tag): Warn on non-default kind for NUMBER,
1139 NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
1141 2014-06-06 Jakub Jelinek <jakub@redhat.com>
1143 * dump-parse-tree.c (show_omp_namelist): Dump reduction
1144 id in each list item.
1145 (show_omp_node): Only handle OMP_LIST_REDUCTION, not
1146 OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't
1147 dump reduction id here.
1148 * frontend-passes.c (dummy_code_callback): Renamed to...
1149 (gfc_dummy_code_callback): ... this. No longer static.
1150 (optimize_reduction): Use gfc_dummy_code_callback instead of
1151 dummy_code_callback.
1152 * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
1153 (symbol_attribute): Add omp_udr_artificial_var bitfield.
1154 (gfc_omp_reduction_op): New enum.
1155 (gfc_omp_namelist): Add rop and udr fields.
1156 (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
1157 OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
1158 OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
1159 OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
1160 (OMP_LIST_REDUCTION): New.
1161 (gfc_omp_udr): New type.
1162 (gfc_get_omp_udr): Define.
1163 (gfc_symtree): Add n.omp_udr field.
1164 (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
1165 (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
1166 gfc_dummy_code_callback): New prototypes.
1167 * match.h (gfc_match_omp_declare_reduction): New prototype.
1168 * module.c (MOD_VERSION): Increase to 13.
1169 (omp_declare_reduction_stmt): New array.
1170 (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
1172 (read_module): Read OpenMP user defined reductions.
1173 (write_module): Write OpenMP user defined reductions.
1174 * openmp.c: Include arith.h.
1175 (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
1176 (gfc_match_omp_clauses): Handle user defined reductions.
1177 Store reduction kind into gfc_omp_namelist instead of using
1178 several OMP_LIST_* entries.
1179 (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
1180 gfc_match_omp_declare_reduction): New functions.
1181 (resolve_omp_clauses): Adjust for reduction clauses being only
1182 in OMP_LIST_REDUCTION list. Diagnose missing UDRs.
1183 (struct omp_udr_callback_data): New type.
1184 (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
1186 * parse.c (decode_omp_directive): Handle !$omp declare reduction.
1187 (case_decl): Add ST_OMP_DECLARE_REDUCTION.
1188 (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
1189 * resolve.c (resolve_fl_variable): Allow len=: or len=* on
1190 sym->attr.omp_udr_artificial_var symbols.
1191 (resolve_types): Call gfc_resolve_omp_udrs.
1192 * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
1193 use parent ns instead of gfc_current_ns.
1194 (gfc_get_sym_tree): Don't insert symbols into
1195 namespaces with omp_udr_ns set.
1196 (free_omp_udr_tree): New function.
1197 (gfc_free_namespace): Call it.
1198 * trans-openmp.c (struct omp_udr_find_orig_data): New type.
1199 (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
1200 (gfc_trans_omp_array_reduction): Renamed to...
1201 (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM
1202 argument, instead pass gfc_omp_namelist pointer N. Handle
1203 user defined reductions.
1204 (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
1205 Handle user defined reductions and reduction ops in gfc_omp_namelist.
1206 (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
1208 (gfc_split_omp_clauses): Likewise.
1210 2014-06-05 Richard Biener <rguenther@suse.de>
1213 * gfortranspec.c (spec_file): Remove.
1214 (find_spec_file): Likewise.
1215 (lang_specific_driver): Do not look for specs file in -L
1216 or append -specs command line argument.
1217 (lang_specific_pre_link): Always %:include libgfortran.spec.
1219 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
1221 * fortran/trans.c (trans_runtime_error_vararg): Call
1222 fold_build_call_array_loc instead of fold_builtin_call_array.
1224 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
1226 * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
1227 arguments to caf_init.
1229 2014-05-26 Tobias Burnus <burnus@net-b.de>
1231 * gfortran.texi (Project Status): Fix broken link.
1233 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
1236 * intrinsics.texi (CTIME): Remove mention of locale-dependent
1239 2014-05-26 Tobias Burnus <burnus@net-b.de>
1242 * trans-io.c (nml_full_name, transfer_namelist_element): Insert
1243 a '+' rather then '%' to differentiate namelist variable names
1244 that are based on extended derived types.
1246 2014-05-25 Tobias Burnus <burnus@net-b.de>
1248 * check.c (gfc_check_num_images): New.
1249 (gfc_check_this_image): Handle distance argument.
1250 * intrinsic.c (add_functions): Update this_image and num_images
1251 for new distance and failed arguments.
1252 * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
1254 * intrinsic.h (gfc_check_num_images): New.
1255 (gfc_check_this_image, gfc_simplify_num_images,
1256 gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
1257 * iresolve.c (gfc_resolve_this_image): Handle distance argument.
1258 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
1259 Handle new arguments.
1260 * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
1261 (gfc_conv_intrinsic_function): Update trans_num_images call.
1263 2014-05-23 Tobias Burnus <burnus@net-b.de>
1265 * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
1266 * gfortran.texi: Ditto.
1268 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1270 * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1271 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1272 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1273 * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1275 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1277 * f95-lang.c (pushlevel): Adjust.
1278 * trans-decl.c (gfc_allocate_lang_decl): Adjust.
1279 (gfc_find_module): Likewise.
1280 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1281 (gfc_get_array_type_bounds): Likewise.
1282 (gfc_nonrestricted_type): Likewise.
1283 * trans.h: Don't use variable_size gty attribute.
1285 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
1287 * check.c (gfc_check_fn_rc2008): move "argument" to the right
1290 2014-05-12 Tobias Burnus <burnus@net-b.de>
1293 * openmp.c (resolve_omp_do): Reject do concurrent loops.
1295 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1298 * frontend-passes.c (in_assoc_list): New variable.
1299 (optimize_namespace): Initialize in_assoc_list
1300 (combine_array_constructor): Don't try to combine
1302 (gfc_code_walker): Keep track of in_assoc_list.
1304 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1306 * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
1307 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1308 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1309 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1310 ST_OMP_DECLARE_SIMD.
1311 (gfc_omp_namelist): New typedef.
1312 (gfc_get_omp_namelist): Define.
1313 (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
1314 OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
1315 (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
1316 (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
1317 Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
1318 simdlen_expr fields.
1319 (gfc_omp_declare_simd): New typedef.
1320 (gfc_get_omp_declare_simd): Define.
1321 (gfc_namespace): Add omp_declare_simd field.
1322 (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1323 EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
1324 EXEC_OMP_PARALLEL_DO_SIMD.
1325 (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
1326 and GFC_OMP_ATOMIC_SWAP.
1327 (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
1328 (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
1329 gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
1331 * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
1332 * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
1333 * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
1334 simdlen_expr. Use gfc_free_omp_namelist instead of
1336 (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
1338 (gfc_match_omp_variable_list): Add end_colon, headp and
1339 allow_sections arguments. Handle parsing of array sections.
1340 Use *omp_namelist* instead of *namelist* data structure and
1341 functions/macros. Allow termination at : character.
1342 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
1343 OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
1344 OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
1345 (gfc_match_omp_clauses): Change first and needs_space variables
1346 into arguments with default values. Parse inbranch, notinbranch,
1347 proc_bind, safelen, simdlen, uniform, linear, aligned and
1349 (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
1350 (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
1351 (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
1352 (gfc_match_omp_do_simd): New function.
1353 (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
1354 data structure and functions/macros.
1355 (gfc_match_omp_simd, gfc_match_omp_declare_simd,
1356 gfc_match_omp_parallel_do_simd): New functions.
1357 (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
1358 (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
1359 gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
1361 (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
1362 Use *omp_namelist* instead of *namelist* data structure and
1363 functions/macros. Resolve uniform, aligned, linear, depend,
1364 safelen and simdlen clauses.
1365 (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
1366 addition, recognize atomic swap.
1367 (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
1368 of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
1369 EXEC_OMP_PARALLEL_DO.
1370 (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
1371 data structure and functions/macros.
1372 (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1373 EXEC_OMP_PARALLEL_DO_SIMD.
1374 (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1375 EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
1376 resolve_omp_clauses caller.
1377 (gfc_resolve_omp_declare_simd): New function.
1378 * parse.c (decode_omp_directive): Parse cancellation point, cancel,
1379 declare simd, end do simd, end simd, end parallel do simd,
1380 end taskgroup, parallel do simd, simd and taskgroup directives.
1381 (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
1382 (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
1383 ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
1384 (case_decl): Add ST_OMP_DECLARE_SIMD.
1385 (gfc_ascii_statement): Handle ST_OMP_CANCEL,
1386 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1387 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1388 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1389 ST_OMP_DECLARE_SIMD.
1390 (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
1391 ST_OMP_PARALLEL_DO_SIMD.
1392 (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
1393 (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
1394 ST_OMP_PARALLEL_DO_SIMD.
1395 (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
1396 ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
1397 * trans-decl.c (gfc_get_extern_function_decl,
1398 gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
1400 * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
1401 EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
1402 safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
1403 of depend, aligned and linear clauses.
1404 * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
1405 and EXEC_OMP_PARALLEL_DO_SIMD.
1406 (gfc_free_omp_namelist): New function.
1407 * dump-parse-tree.c (show_namelist): Removed.
1408 (show_omp_namelist): New function.
1409 (show_omp_node): Handle OpenMP 4.0 additions.
1410 (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1411 EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
1413 * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
1414 gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
1415 gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
1416 gfc_match_omp_taskgroup): New prototypes.
1417 * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
1418 argument, handle it. Allow current_function_decl to be NULL.
1419 (gfc_trans_omp_variable_list): Add declare_simd argument, pass
1420 it through to gfc_trans_omp_variable and disregard whether
1421 sym is referenced if declare_simd is true. Work on gfc_omp_namelist
1422 instead of gfc_namelist.
1423 (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
1424 gfc_namelist. Adjust gfc_trans_omp_variable caller.
1425 (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
1426 to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
1427 instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
1428 simdlen, depend, uniform, linear, proc_bind and aligned clauses.
1430 (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
1431 adjust for GFC_OMP_ATOMIC_* changes.
1432 (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
1434 (gfc_trans_omp_do): Add op argument, handle simd translation into
1436 (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
1437 GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
1438 GFC_OMP_MASK_PARALLEL): New.
1439 (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
1440 (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
1441 (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
1443 (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
1444 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1445 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1446 Adjust gfc_trans_omp_do caller.
1447 (gfc_trans_omp_declare_simd): New function.
1448 * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
1449 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1450 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1451 For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
1453 * module.c (omp_declare_simd_clauses): New variable.
1454 (mio_omp_declare_simd): New function.
1455 (mio_symbol): Call it.
1456 * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
1457 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1458 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1459 * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
1460 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1461 (resolve_code): Handle EXEC_OMP_CANCEL,
1462 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1463 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1464 (resolve_types): Call gfc_resolve_omp_declare_simd.
1466 2014-05-11 Tobias Burnus <burnus@net-b.de>
1468 * trans-intrinsic.c (gfc_build_builtin_function_decls):
1469 Change type of second argument to int.
1471 2014-05-09 Mike Stump <mikestump@comcast.net>
1474 * trans-array.c (gfc_conv_array_initializer): Fix wide-int
1477 2014-05-08 Tobias Burnus <burnus@net-b.de>
1479 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
1480 and GFC_ISYM_CAF_SEND.
1481 * intrinsic.c (add_functions): Add only internally
1482 accessible caf_get and caf_send functions.
1483 * resolve.c (add_caf_get_intrinsic,
1484 remove_caf_get_intrinsic): New functions.
1485 (resolve_variable): Resolve expression rank and
1486 prepare for add_caf_get_intrinsic call.
1487 (gfc_resolve_expr): For variables, remove rank
1489 (resolve_ordinary_assign): Prepare call to
1491 (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
1492 the LHS of an assignment.
1494 2014-05-08 Tobias Burnus <burnus@net-b.de>
1496 * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
1498 2014-05-08 Tobias Burnus <burnus@net-b.de>
1500 * check.c (check_co_minmaxsum, gfc_check_co_minmax,
1501 gfc_check_co_sum): New.
1502 * error.c (gfc_notify_std): Update -std=f2008ts.
1503 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
1504 GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
1505 * intrinsic.h (gfc_check_co_minmax,
1506 gfc_check_co_sum): Declare.
1507 * intrinsic.c (add_subroutines): Add co_min, co_max
1509 (gfc_check_intrinsic_standard): Update text for
1511 * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
1513 * invoke.texi (-std=f2008ts): Update wording.
1514 * trans.h (gfor_fndecl_co_max,
1515 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1516 * trans-decl.c (gfor_fndecl_co_max,
1517 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1518 (gfc_build_builtin_function_decls): Assign to it.
1519 * trans-intrinsic.c (conv_co_minmaxsum): New.
1520 (gfc_conv_intrinsic_subroutine): Call it.
1522 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1523 Mike Stump <mikestump@comcast.net>
1524 Richard Sandiford <rdsandiford@googlemail.com>
1526 * target-memory.c: Include wide-int.h.
1527 (gfc_interpret_logical): Use wide-int interfaces.
1528 * trans-array.c: Include wide-int.h.
1529 (gfc_conv_array_initializer): Use wide-int interfaces.
1530 * trans-const.c: Include wide-int.h.
1531 (gfc_conv_string_init): Use wide-int interfaces.
1532 (gfc_conv_mpz_to_tree): Likewise.
1533 (gfc_conv_tree_to_mpz): Likewise.
1534 * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
1535 * trans-expr.c: Include wide-int.h.
1536 (gfc_conv_cst_int_power): Use wide-int interfaces.
1537 (gfc_string_to_single_character): Likewise.
1538 (gfc_optimize_len_trim): Likewise.
1539 * trans-intrinsic.c: Include wide-int.h.
1540 (trans_this_image): Use wide-int interfaces.
1541 (gfc_conv_intrinsic_bound): Likewise.
1542 (conv_intrinsic_cobound): Likewise.
1543 * trans-types.c (gfc_init_types): Likewise.
1544 (gfc_get_array_type_bounds): Pass an integer of the correct type
1545 instead of using integer_one_node.
1547 2014-04-30 Tobias Burnus <burnus@net-b.de>
1549 * trans-decl.c (create_function_arglist): Add hidden coarray arguments
1550 also for polymorphic coarrays.
1551 * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
1552 also for polymorphic coarrays.
1554 2014-04-30 Tobias Burnus <burnus@net-b.de>
1556 * resolve.c (resolve_function): Don't do
1557 assumed-size check for lcobound/ucobound.
1558 * trans-types.c (gfc_build_array_type): Only build an array
1559 descriptor with codimensions for allocatable coarrays.
1561 2014-04-30 Tobias Burnus <burnus@net-b.de>
1563 * gfortran.h (gfc_init_coarray_decl): Remove.
1564 * parse.c (translate_all_program_units): Remove call to it.
1565 (gfc_parse_file): Update call.
1566 * trans.h (gfor_fndecl_caf_this_image,
1567 gfor_fndecl_caf_num_images): Add.
1568 (gfort_gvar_caf_num_images,
1569 gfort_gvar_caf_this_image): Remove.
1570 * trans-decl.c (gfor_fndecl_caf_this_image,
1571 gfor_fndecl_caf_num_images): Add.
1572 (gfort_gvar_caf_num_images,
1573 gfort_gvar_caf_this_image): Remove.
1574 (gfc_build_builtin_function_decls): Init new decl.
1575 (gfc_init_coarray_dec): Remove.
1576 (create_main_function): Change calls.
1577 * trans-intrinsic.c (trans_this_image, trans_image_index,
1578 conv_intrinsic_cobound): Generate call to new library function
1579 instead of to a static variable.
1580 * trans-stmt.c (gfc_trans_sync): Ditto.
1582 2014-04-30 Tobias Burnus <burnus@net-b.de>
1584 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
1585 and derived-type coarrays.
1587 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1591 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
1592 * arith.c (gfc_int2int): Convert number to signed if
1593 arithmetic overflow is not checked.
1594 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
1595 size if range checking is in force.
1596 (convert_mpz_to_signed): Make non-static, rename to
1597 (gfc_convert_mpz_to_signed).
1598 (simplify_dshift): Use gfc_convert_mpz_to_signed.
1599 (gfc_simplify_ibclr): Likewise.
1600 (gfc_simplify_ibits): Likewise.
1601 (gfc_simplify_ibset): Likewise.
1602 (simplify_shift): Likewise.
1603 (gfc_simplify_ishiftc): Likewise.
1604 (gfc_simplify_maskr): Likewise.
1605 (gfc_simplify_maskl): Likewise.
1607 2014-04-22 Tobias Burnus <burnus@net-b.de>
1610 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
1613 2014-04-17 Jakub Jelinek <jakub@redhat.com>
1615 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
1616 argument is enum machine_mode.
1618 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
1622 * trans.h: Add 'use_offset' bitfield to gfc_se.
1623 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
1624 as a trigger to unconditionally recalculate the offset for
1625 array slices and constant arrays.
1626 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
1627 trans-stmt.c (trans_associate_var): Ditto.
1628 (gfc_conv_procedure_call): Ditto.
1630 2014-04-11 Tobias Burnus <burnus@net-b.de>
1634 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
1635 and finalization wrappers are generated.
1637 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
1639 * intrinsic.texi (RANDOM_SEED): Improve example.
1641 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
1643 * class.c (gfc_build_class_symbol): Append "_t" to target class
1644 names to make the generated type names unique.
1646 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1649 * trans-types.c (gfc_get_function_type): In case of recursion
1650 build a variadic function type with empty argument list instead of a
1651 stdarg-like function type with incomplete argument list.
1653 2014-04-04 Tobias Burnus <burnus@net-b.de>
1655 * check.c (gfc_check_cmplx): Fix typo.
1657 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1658 Tobias Burnus <burnus@net-b.de>
1661 * trans-expr.c (gfc_conv_derived_to_class): Avoid
1662 generation of out-of-bounds range expr.
1664 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1667 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
1670 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1673 * frontend-passes.c (cfe_code): Do not walk subtrees
1676 2014-03-27 Tobias Burnus <burnus@net-b.de>
1679 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
1682 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
1685 * fortran.texi: Document Volatile COMMON as not supported.
1687 2014-03-22 Jakub Jelinek <jakub@redhat.com>
1690 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
1693 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1696 * gfortran.texi: Add description of namelist DELIM= behavior.
1698 2014-03-19 Tobias Burnus <burnus@net-b.>
1701 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
1702 * resolve.c (resolve_ordinary_assign): Ditto.
1704 2014-03-19 Tobias Burnus <burnus@net-b.de>
1708 * gfortran.h (gfc_unset_implicit_pure): New prototype.
1709 * resolve.c (gfc_unset_implicit_pure): New.
1710 (resolve_structure_cons, resolve_function,
1711 pure_subroutine): Use it.
1712 * decl.c (match_old_style_init, gfc_match_data,
1713 match_pointer_init, variable_decl): Ditto.
1714 * expr.c (gfc_check_pointer_assign): Ditto.
1715 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
1716 * io.c (match_vtag, gfc_match_open, gfc_match_close,
1717 match_filepos, gfc_match_inquire, gfc_match_print,
1718 gfc_match_wait): Ditto.
1719 * match.c (gfc_match_critical, gfc_match_stopcode,
1720 lock_unlock_statement, sync_statement, gfc_match_allocate,
1721 gfc_match_deallocate): Ditto.
1722 * parse.c (decode_omp_directive): Ditto.
1723 * symbol.c (gfc_add_save): Ditto.
1725 2014-03-18 Janus Weil <janus@gcc.gnu.org>
1729 * decl.c (match_attr_spec): Revert r208590.
1731 2014-03-18 Jakub Jelinek <jakub@redhat.com>
1734 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
1737 2014-03-18 Tobias Burnus <burnus@net-b.de>
1740 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
1741 (gfc_trans_io_runtime_check): Remove.
1742 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
1743 as argument, add predictor to block.
1744 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
1745 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
1746 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
1747 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
1748 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
1750 * trans-expr.c (gfc_conv_procedure_call): Ditto.
1751 * trans-stmt.c (gfc_trans_allocate): Ditto.
1752 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
1754 2014-03-15 Janus Weil <janus@gcc.gnu.org>
1757 * decl.c (match_attr_spec): Variables in the main program implicitly
1758 get the SAVE attribute in Fortran 2008.
1760 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
1763 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
1764 if it has transposed dimensions.
1766 2014-03-08 Tobias Burnus <burnus@net-b.de>
1769 * f95-lang.c (gfc_init): Return false when only
1771 * options.c (gfc_post_options): Ditto.
1773 2014-03-08 Tobias Burnus <burnus@net-b.de>
1775 * gfortran.texi (Fortran 2003 Status): Mention finalization,
1776 deferred-length character support and input rounding.
1777 (Fortran 2008 Status): Mention that at termination
1778 signalling exceptions are shown.
1780 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
1781 Janus Weil <janus@gcc.gnu.org>
1784 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
1785 * primary.c (build_actual_constructor): It is not an error if
1786 a missing component has the deferred_parameter attribute;
1787 equally, if one is given a value, it is an error.
1788 * resolve.c (resolve_fl_derived0): Remove error for deferred
1789 character length components. Add the hidden string length
1790 field to the structure. Give it the deferred_parameter
1792 * trans-array.c (duplicate_allocatable): Add a strlen field
1793 which is used as the element size if it is non-null.
1794 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
1795 NULL to the new argument in duplicate_allocatable.
1796 (structure_alloc_comps): Set the hidden string length as
1797 appropriate. Use it in calls to duplicate_allocatable.
1798 (gfc_alloc_allocatable_for_assignment): When a deferred length
1799 backend declaration is variable, use that; otherwise use the
1800 string length from the expression evaluation.
1801 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
1802 character length component, the string length should have the
1803 value of the hidden string length field.
1804 (gfc_trans_subcomponent_assign): Set the hidden string length
1805 field for deferred character length components. Allocate the
1806 necessary memory for the string.
1807 (alloc_scalar_allocatable_for_assignment): Same change as in
1808 gfc_alloc_allocatable_for_assignment above.
1809 * trans-stmt.c (gfc_trans_allocate): Likewise.
1810 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
1811 * trans-types.c (gfc_get_derived_type): Set the tree type for
1812 a deferred character length component.
1813 * trans.c (gfc_deferred_strlen): New function.
1814 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
1816 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
1819 * frontend-passes.c (optimize_comparison): Guard two union accesses
1820 with the corresponding tag checks.
1822 2014-02-28 Janus Weil <janus@gcc.gnu.org>
1825 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
1826 procedure for characters.
1828 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1831 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
1834 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1837 * gfortran.h (gfc_build_class_symbol): Removed argument.
1838 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
1839 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
1840 delayed now, except for unlimited polymorphics.
1841 (comp_is_finalizable): Procedure pointer components are not finalizable.
1842 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
1843 'gfc_build_class_symbol'.
1844 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
1846 * symbol.c (gfc_set_default_type): Ditto.
1848 2014-02-19 Janus Weil <janus@gcc.gnu.org>
1851 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
1852 functions, which are used as procedure pointer target.
1854 2014-02-18 Tobias Burnus <burnus@net-b.de>
1857 * expr.c (gfc_check_pointer_assign): Add check for
1859 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
1860 decl in a corner case.
1862 2014-02-18 Janus Weil <janus@gcc.gnu.org>
1865 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
1866 arguments to prevent ICE.
1868 2014-02-17 Janus Weil <janus@gcc.gnu.org>
1871 * resolve.c (build_default_init_expr): Don't initialize character
1872 variable if -fno-automatic is given.
1874 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
1877 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
1878 number of arguments.
1880 2014-02-11 Jakub Jelinek <jakub@redhat.com>
1883 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
1884 on decl if sym->attr.optional.
1886 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1889 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
1890 attribute for the 'associate-name' if necessary.
1891 * trans-stmt.c (trans_associate_var): If the 'associate-name'
1892 is a subref_array_pointer, assign the element size of the
1893 associate variable to 'span'.
1895 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1898 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
1899 actual argument to a formal argument with the value attribute
1900 in an elemental procedure.
1902 2014-02-08 Janus Weil <janus@gcc.gnu.org>
1903 Mikael Morin <mikael.morin@gcc.gnu.org>
1906 * class.c (generate_finalization_wrapper): Assert that proc_tree has
1907 been set in gfc_resolve_finalizers.
1908 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
1911 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
1913 PR translation/52289
1914 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
1915 in an error message.
1917 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
1920 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
1923 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
1926 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
1927 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
1928 pointer to the string is stored.
1929 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
1930 gfc_conv_string_parameter to ensure that a pointer to is passed
1931 to the elemental function.
1933 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
1936 * trans-stmt.c (gfc_trans_allocate): Before the pointer
1937 assignment to transfer the source _vptr to a class allocate
1938 expression, the final class reference should be exposed. The
1939 tail that includes the _data and array references is stored.
1940 This reduced expression is transferred to 'lhs' and the _vptr
1941 added. Then the tail is restored to the allocate expression.
1943 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
1946 * module.c (read_module): Assert for component name correctness.
1948 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
1951 * module.c (MOD_VERSION): Bump.
1952 (fp2, find_pointer2): Remove.
1953 (mio_component_ref): Don't forcedfully set the containing derived type
1954 symbol for loading. Remove unused argument.
1955 (mio_ref): Update caller
1956 (mio_symbol): Dump component list earlier.
1957 (skip_list): New argument nest_level. Initialize level with the new
1959 (read_module): Add forced pointer components association for derived
1962 2014-01-12 Janus Weil <janus@gcc.gnu.org>
1965 * decl.c (gfc_match_data_decl): Improve error recovery.
1967 2014-01-09 Tobias Burnus <burnus@net-b.de>
1969 * cpp.c (gfc_cpp_handle_option): Add missing break.
1970 * trans-io.c (transfer_expr): Silence unused value warning.
1972 2014-01-08 Janus Weil <janus@gcc.gnu.org>
1975 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
1977 2014-01-06 Janus Weil <janus@gcc.gnu.org>
1980 * class.c (comp_is_finalizable): New function to dermine if a given
1981 component is finalizable.
1982 (finalize_component, generate_finalization_wrapper): Use it.
1984 2014-01-06 Janus Weil <janus@gcc.gnu.org>
1988 * resolve.c (resolve_global_procedure): Don't apply to c-binding
1990 (gfc_verify_binding_labels): Remove duplicate line.
1992 2014-01-04 Janus Weil <janus@gcc.gnu.org>
1995 * class.c (add_proc_comp): Copy pure attribute.
1997 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1999 Update copyright years
2001 2014-01-02 Tobias Burnus <burnus@net-b.de>
2003 * gfortranspec.c (lang_specific_driver): Update copyright notice
2005 * gfc-internals.texi: Bump @copying's copyright year.
2006 * gfortran.texi: Ditto.
2007 * intrinsic.texi: Ditto.
2008 * invoke.texi: Ditto.
2010 2014-01-02 Janus Weil <janus@gcc.gnu.org>
2013 * resolve.c (resolve_typebound_procedures): No need to create the vtab
2016 Copyright (C) 2014 Free Software Foundation, Inc.
2018 Copying and distribution of this file, with or without modification,
2019 are permitted in any medium without royalty provided the copyright
2020 notice and this notice are preserved.