1 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3 * trans-types.c, trans-types.h: Remove redundant enum from
6 2014-10-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
9 * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2.
10 (gfc_error_cmdline): Rename as gfc_error_now_2.
11 * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space.
12 (gfc_diagnostic_starter): Add space between locus and prefix.
13 (gfc_warning_now_2): Renamed from gfc_warning_cmdline.
14 (gfc_error_now_2): Renamed from gfc_error_cmdline.
15 * scanner.c (add_path_to_list): Use gfc_warning_now_2.
16 (load_line): Likewise.
17 (load_file): Likewise.
18 * options.c (gfc_post_options): Update all renamed functions.
20 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
22 * f95-lang.c: Adjust include files.
23 * trans-decl.c: Ditto.
25 2014-10-24 Tobias Burnus <burnus@net-b.de>
27 * check.c (check_co_collective): Reject coindexed A args.
28 (gfc_check_co_reduce): Add OPERATOR checks.
29 * gfortran.texi (_gfortran_caf_co_broadcast, _gfortran_caf_co_max,
30 _gfortran_caf_co_min, _gfortran_caf_co_sum,
31 _gfortran_caf_co_reduce): Add ABI documentation.
32 * intrinsic.texi (CO_REDUCE): Document intrinsic.
33 (DPROD): Returns double not single precision.
34 * trans-decl.c (gfor_fndecl_co_reduce): New global var.
35 (gfc_build_builtin_function_decls): Init it.
36 * trans.h (gfor_fndecl_co_reduce): Declare it.
37 * trans-intrinsic.c (conv_co_collective,
38 gfc_conv_intrinsic_subroutine): Handle CO_REDUCE.
40 2014-10-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
43 * trans-const.c (gfc_build_nan): New function.
44 * trans-const.h (gfc_build_nan): New prototype.
45 * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special
47 (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan.
48 (gfc_conv_intrinsic_fraction): Handle special values.
49 (gfc_conv_intrinsic_spacing): Likewise.
50 (gfc_conv_intrinsic_rrspacing): Likewise.
51 (gfc_conv_intrinsic_set_exponent): Likewise.
53 2014-10-18 Paul Thomas <pault@gcc.gnu.org>
56 * resolve.c (resolve_ordinary_assign): Add data component to
57 rvalue expression for class to type assignment.
59 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
61 * f95-lang.c: Adjust include files.
62 * trans-decl.c: Likewise.
64 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
66 * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
68 2014-10-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
71 * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
72 (gfc_simplify_log): Likewise.
73 (gfc_simplify_scale): Likewise.
74 (gfc_simplify_exponent): Handle infinities and NaNs.
75 (gfc_simplify_fraction): Handle infinities.
76 (gfc_simplify_rrspacing): Handle signed zeros and NaNs.
77 (gfc_simplify_set_exponent): Handle infinities and NaNs.
78 (gfc_simplify_spacing): Handle zeros, infinities and NaNs.
80 2014-10-10 Jakub Jelinek <jakub@redhat.com>
83 * trans-openmp.c (gfc_omp_predetermined_sharing): Return
84 OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
86 2014-10-10 Tobias Burnus <burnus@net-b.de>
88 * gfortran.h (gfc_set_implicit_none): Update prototype.
89 * symbol.c (gfc_set_implicit_none): Take and
90 use error location. Move diagnostic from here to ...
91 * decl.c (gfc_match_implicit_none): ... here. And
92 update call. Handle empty implicit-none-spec.
93 (gfc_match_implicit): Handle statement-separator ";".
95 2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
97 * f95-lang.c (gfc_init_builtin_functions): Add more floating-point
99 * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
100 remainder, rint and signbit.
101 * trans-decl.c (save_fp_state, restore_fp_state): Move to
103 (gfc_generate_function_code): Use new names for these two functions.
104 * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
105 emit code from the front-end.
106 * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
107 conv_ieee_function_args, conv_intrinsic_ieee_builtin,
108 conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
109 conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
110 conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
111 conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
113 * trans.h (gfc_conv_ieee_arithmetic_function,
114 gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
116 2014-10-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
120 * gfortran.h (gfc_warning_cmdline): Add overload that takes an
122 (gfc_error_cmdline): Declare.
123 * error.c (gfc_warning_cmdline): New overload that takes an option.
124 (gfc_error_cmdline): New.
125 * lang.opt (Wmissing-include-dirs): New.
126 * scanner.c (add_path_to_list): Use the new functions.
127 (load_file): Likewise.
128 * options.c (gfc_init_options): Wmissing-include-dirs is enabled
129 by default in Fortran.
130 (gfc_handle_option): Accept automatically handled options.
132 2014-10-06 Tobias Burnus <burnus@net-b.de>
134 * libgfortran.h (GFC_STD_F2015): Add.
135 * decl.c (gfc_match_implicit_none): Handle spec list.
136 (gfc_match_implicit): Move double intrinsic warning here.
137 * gfortran.h (gfc_namespace): Add has_implicit_none_export:1.
138 (gfc_set_implicit_none): Update interface.
139 * interface.c (gfc_procedure_use): Add implicit-none external
141 * parse.c (accept_statement): Remove call.
142 (verify_st_order): Permit that external-implict-none follows
144 * symbol.c (gfc_set_implicit_none): Handle external/type
147 2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
150 * resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
152 2014-09-25 Tobias Burnus <burnus@net-b.de>
154 * check.c (check_co_collective): Renamed from check_co_minmaxsum,
156 (gfc_check_co_minmax, gfc_check_co_sum): Update call.
157 (gfc_check_co_broadcast, gfc_check_co_reduce): New.
158 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
160 * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
161 * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
163 * intrinsic.texi (CO_BROADCAST): Add.
164 * trans.h (gfor_fndecl_co_broadcast): New.
165 * trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
166 (gfc_build_builtin_function_decls): Add decl for it,
167 * trans-intrinsic.c (conv_co_collective): Renamed from
168 conv_co_minmaxsum. Handle co_reduce.
169 (gfc_conv_intrinsic_subroutine): Handle co_reduce.
171 2014-09-23 Jakub Jelinek <jakub@redhat.com>
174 * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
175 instead of VAR_DECL for base_decl.
177 2014-09-21 Jan Hubicka <hubicka@ucw.cz>
179 * openmp.c (omp_context): Rename to ...
180 (fortran_omp_context): ... this one.
182 2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
184 * resolve.c (resolve_fl_procedure): Remove duplicated lines.
186 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
187 Tobias Burnus <burnus@net-b.de>
189 * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
190 generating temporary for value argument.
192 2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
194 * trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
195 (gfc_conv_class_to_class): Likewise.
196 (gfc_conv_procedure_call): Likewise.
197 (arrayfunc_assign_needs_temporary): Likewise.
198 (realloc_lhs_loop_for_fcn_call): Likewise.
199 (gfc_trans_assignment_1): Likewise.
200 * trans-array.c (gfc_conv_array_ref): Likewise.
201 (gfc_array_allocate): Likewise.
202 (gfc_alloc_allocatable_for_assignment): Likewise.
203 * symbol.c (generate_isocbinding_symbol): Likewise.
204 * class.c (finalization_scalarizer): Likewise.
205 (finalizer_insert_packed_call): Likewise.
206 (generate_finalization_wrapper): Likewise.
207 (find_intrinsic_vtab): Likewise.
208 * decl.c (gfc_match_import): Likewise.
209 (match_procedure_decl): Likewise.
210 (gfc_match_subroutine): Likewise.
211 (gfc_match_bind_c): Likewise.
212 (gfc_match_volatile): Likewise.
213 * trans-common.c (create_common): Likewise.
214 * error.c (gfc_diagnostic_starter): Likewise.
215 * trans-stmt.c (gfc_trans_sync): Likewise.
216 (gfc_trans_critical): Likewise.
217 (gfc_trans_simple_do): Likewise.
218 (gfc_trans_do): Likewise.
219 (gfc_trans_where_assign): Likewise.
220 * expr.c (gfc_is_simply_contiguous): Likewise.
221 * module.c (unquote_string): Likewise.
222 * trans.c (gfc_add_finalizer_call): Likewise.
223 * trans-types.c (gfc_init_kinds): Likewise.
224 * scanner.c (preprocessor_line): Likewise.
225 * gfortranspec.c (lang_specific_driver): Likewise.
226 * frontend-passes.c (create_var): Likewise.
227 (cfe_expr_0): Likewise.
228 * resolve.c (check_host_association): Likewise.
229 (gfc_resolve_code): Likewise.
230 (resolve_fl_derived0): Likewise.
231 (resolve_symbol): Likewise.
232 * f95-lang.c (poplevel): Likewise.
233 * trans-decl.c (create_main_function): Likewise.
234 * trans-io.c (transfer_expr): Likewise.
235 * arith.c (gfc_arith_divide): Likewise.
236 * parse.c (resolve_all_program_units): Likewise.
237 * check.c (gfc_check_rank): Likewise.
238 (gfc_check_sizeof): Likewise.
239 (is_c_interoperable): Likewise.
240 * dependency.c (gfc_dep_difference): Likewise.
241 * primary.c (gfc_match_rvalue): Likewise.
242 * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
243 (conv_isocbinding_subroutine): Likewise.
244 * options.c (gfc_post_options): Likewise.
245 (gfc_handle_fpe_option): Likewise.
246 (gfc_get_option_string): Likewise.
247 * simplify.c (simplify_transformation_to_scalar): Likewise.
248 (gfc_simplify_spread): Likewise.
250 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
253 * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
255 2014-09-15 Jakub Jelinek <jakub@redhat.com>
257 * Make-lang.in (check_gfortran_parallelize): Change to just an upper
260 2014-09-13 Tobias Burnus <burnus@net-b.de>
263 * trans-decl.c (gfc_build_builtin_function_decls): Fix
264 caf_unlock declaration.
266 2014-09-12 Joseph Myers <joseph@codesourcery.com>
268 * trans-types.c (gfc_init_kinds): Check
269 targetm.libgcc_floating_mode_supported_p for floating-point
270 modes. Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE.
272 2014-09-05 Joost VandeVondele <vondele@gcc.gnu.org>
275 * intrinsic.texi (INT): clarify result.
277 2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
280 * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
281 when matching a component declaration.
283 2014-09-02 Marek Polacek <polacek@redhat.com>
286 * interface.c (compare_parameter): Fix condition.
287 * trans-expr.c (gfc_conv_procedure_call): Likewise.
289 2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
292 * resolve.c (apply_default_init_local): Don't treat variables
293 in RECURSIVE procedures as saved.
295 2014-08-31 Tobias Burnus <burnus@net-b.de>
297 * trans-decl.c (gfc_build_builtin_function_decls): Add
298 may_require_tmp dummy argument.
299 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
300 conv_caf_send): Handle may_require_tmp argument.
301 (gfc_conv_intrinsic_function): Update call.
302 * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
303 _gfortran_caf_sendget): Update interface description.
305 2014-08-30 Tobias Burnus <burnus@net-b.de>
307 * trans.h (gfc_caf_get_image_index,
308 gfc_get_caf_token_offset): New prototypes.
309 * trans-expr.c (gfc_caf_get_image_index): Moved from
310 trans-intrinsic.c and renamed.
311 (gfc_get_caf_token_offset) Ditto; support offset = NULL
313 * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
315 (gfc_conv_intrinsic_caf_get, conv_caf_send,
316 conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
317 conv_intrinsic_atomic_cas): Update callers.
319 2014-08-30 Tobias Burnus <burnus@net-b.de>
324 * dependency.c (gfc_check_dependency): Allow for optimizations
325 in the pointer-alias check.
327 2014-08-30 Janne Blomqvist <jb@gcc.gnu.org>
329 * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
332 2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com>
335 * module.c (gfc_dump_module): Unlink old module file before
338 2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
340 * frontend_passes (expr_array): Replace by vec template.
342 (expr_count): Remove.
343 (doloop_list): Replace by vec template.
344 (doloop_size): Remove.
345 (gfc_run_passes): Adjust to use of vec template.
346 (cfe_register_funcs): Likewise.
347 (cfe_expr_0): Likewise.
348 (doloop_code): Likewise.
350 2014-08-22 Steven Bosscher <steven@gcc.gnu.org>
353 * resolve.c (resolve_select): Fix list traversal in case the
354 last element of the CASE list was dropped as unreachable code.
356 2014-08-22 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
359 * lang.opt (Wuse-without-only): New flag.
360 * gfortran.h (gfc_option_t): Add it.
361 * invoke.texi: Document it.
362 * module.c (gfc_use_module): Warn if needed.
363 * options.c (gfc_init_options,gfc_handle_option): Init accordingly.
365 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
368 * frontend-passes.c (optimize_binop_array_assignment):
369 Do not try to optimize the array assignment for string
372 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
375 * error.c (gfc_diagnostic_build_locus_prefix): New function.
376 (gfc_diagnostic_starter): Follow Fortran FE diagnostics.
377 (gfc_diagnostic_finalizer): Do not call default finalizer.
379 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
382 * error.c (gfc_diagnostic_finalizer): Call default finalizer.
384 2014-08-20 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
386 * options.c (gfc_init_options_struct): assert that the frontend sets
387 flag_errno_math and flag_associative_math.
389 2014-08-17 Tobias Burnus <burnus@net-b.de>
391 * resolve.c (gfc_resolve_finalizers): Ensure that parents are
394 2014-08-17 Tobias Burnus <burnus@net-b.de>
396 * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
398 (transfer_namelist_element): Use proper int type as argument.
400 2014-08-15 Thomas Koenig <tkoenig@gcc.gnu.org>
403 * trans-expr.c (is_runtime_conformable): Add NULL pointer checks.
405 2014-08-15 Tobias Burnus <burnus@net-b.de>
407 * resolve.c (resolve_critical): Fix name mangling.
408 * trans-stmt.c (gfc_trans_critical): Fix lock call.
410 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
413 * gfortran.h: Define GCC_DIAG_STYLE.
414 (gfc_diagnostics_init,gfc_warning_cmdline): Declare.
415 * trans-array.c: Include gfortran.h before diagnostic-core.h.
416 * trans-expr.c: Likewise.
417 * trans-openmp.c: Likewise.
418 * trans-const.c: Likewise.
420 * trans-types.c: Likewise.
421 * f95-lang.c: Likewise.
422 * trans-decl.c: Likewise.
423 * trans-io.c: Likewise.
424 * trans-intrinsic.c: Likewise.
425 * error.c: Include diagnostic.h and diagnostic-color.h.
426 (gfc_diagnostic_build_prefix): New.
427 (gfc_diagnostic_starter): New.
428 (gfc_diagnostic_finalizer): New.
429 (gfc_warning_cmdline): New.
430 (gfc_diagnostics_init): New.
431 * gfc-diagnostic.def: New.
432 * options.c (gfc_init_options): Call gfc_diagnostics_init.
433 (gfc_post_options): Use gfc_warning_cmdline.
435 2014-08-15 Jakub Jelinek <jakub@redhat.com>
436 Tobias Burnus <burnus@net-b.de>
439 * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
440 is allocatable, rather than whenever var->attr.allocatable.
442 2014-08-15 Jakub Jelinek <jakub@redhat.com>
445 * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
446 or allocatable passed by reference.
447 (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.
449 2014-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
452 * gfortran.h (symbol_attribute): Add fe_temp flag.
453 * frontend-passes.c (is_fe_temp): New function.
454 (create_var): Don't add a temporary for an already
455 created variable or for a constant.
456 (combine_ARRAY_constructor): Remove special handling
459 2014-08-14 Tobias Burnus <burnus@net-b.de>
461 * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
462 (_gfortran_caf_register): Update for locking/critical.
463 (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
464 * resolve.c (resolve_critical): New.
465 (gfc_resolve_code): Call it.
466 * trans-decl.c (gfor_fndecl_caf_critical,
467 gfor_fndecl_caf_end_critical): Remove.
468 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
469 (gfc_build_builtin_function_decls): Remove critical,
470 assign locking declarations.
471 (generate_coarray_sym_init): Handle locking and
473 * trans-stmt.c (gfc_trans_critical): Add calls to
474 lock/unlock libcaf functions.
475 * trans.h (gfc_coarray_type): Update locking, add
476 critical enum values.
477 (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
478 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
480 2014-08-14 Tobias Burnus <burnus@net-b.de>
482 * gfortran.texi (Coarray Programming): Add first ABI
485 2014-08-14 Jakub Jelinek <jakub@redhat.com>
488 * openmp.c (gfc_match_omp_clauses): When failed to match
489 operator name, defined op name or name, set buffer to
490 empty string. Don't call gfc_find_omp_udr if buffer is empty
492 (gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
493 before calling gfc_free_omp_udr.
495 2014-08-11 Richard Biener <rguenther@suse.de>
498 * trans-expr.c (gfc_conv_structure): Initialize _size with
499 a value of proper type.
501 2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
504 * simplify.c (gfc_simplify_dot_product): Convert types of
505 vectors before calculating the result.
507 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
509 * openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
511 2014-07-26 Tobias Burnus <burnus@net-b.de>
516 * intrinsic.texi (SIZEOF): Document changed behavior
517 for polymorphic arrays.
519 2014-07-26 Tobias Burnus <burnus@net-b.de>
524 * check.c (gfc_check_sizeof): Permit for assumed type if and
525 only if it has an array descriptor.
526 * intrinsic.c (do_ts29113_check): Permit SIZEOF.
527 (add_functions): SIZEOF is an Inquiry function.
528 * intrinsic.texi (SIZEOF): Add note that only contiguous
529 arrays are permitted.
530 * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
532 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
533 assumed type + array descriptor, CLASS and assumed rank.
534 (gfc_conv_intrinsic_storage_size): Handle class arrays.
536 2014-07-25 Tobias Burnus <burnus@net-b.de>
538 * simplify.c (gfc_simplify_storage_size): Use proper
539 integer kind for the returned value.
541 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
543 * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
544 correct menu position to match sectioning.
546 2014-06-15 Tobias Burnus <burnus@net-b.de>
548 * symbol.c (check_conflict): Add codimension conflict with
549 pointer; fix cray-pointee check.
551 2014-06-14 Tobias Burnus <burnus@net-b.de>
553 * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
554 for kind mismatch with -fcoarray=lib.
556 2014-07-12 Paul Thomas <pault@gcc.gnu.org>
559 * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
560 that elements are skipped. This then correctly aligns 'reverse'
561 with the scalarizer loops.
563 2014-07-12 Tobias Burnus <burnus@net-b.de>
566 * trans-types.c (gfc_init_types): Fix data-type bug
567 with gfc_max_array_element_size.
569 2014-07-12 Tobias Burnus <burnus@net-b.de>
571 * libgfortran.h (libcaf_atomic_codes): Add.
572 * trans-decl.c (gfor_fndecl_caf_atomic_def,
573 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
574 gfor_fndecl_caf_atomic_op): New variables.
575 (gfc_build_builtin_function_decls): Initialize them.
576 * trans.h (gfor_fndecl_caf_atomic_def,
577 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
578 gfor_fndecl_caf_atomic_op): New variables.
579 * trans-intrinsic.c (conv_intrinsic_atomic_op,
580 conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
581 Add library calls with -fcoarray=lib.
583 2014-07-12 Tobias Burnus <burnus@net-b.de>
585 * check.c (gfc_check_atomic): Update for STAT=.
586 (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
587 (gfc_check_atomic_op, gfc_check_atomic_cas,
588 gfc_check_atomic_fetch_op): New.
589 * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
590 GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
591 GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
592 GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
593 * intrinsic.c (add_subroutines): Handle them.
594 * intrinsic.texi: Add documentation for them.
595 (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
596 (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
597 * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
598 gfc_check_atomic_fetch_op): New
600 * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
601 * iso-fortran-env.def: Add it.
602 * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
603 conv_intrinsic_atomic_ref; handle more atomics.
604 (conv_intrinsic_atomic_def): Handle STAT=.
605 (conv_intrinsic_atomic_cas): New.
606 (gfc_conv_intrinsic_subroutine): Handle new atomics.
608 2014-07-09 Bernd Schmidt <bernds@codesourcery.com>
610 * trans-array.c (gfc_build_constant_array_constructor): Build a
611 static decl manually.
612 * trans-decl.c (create_main_function): Likewise.
614 2014-07-07 Paul Thomas <pault@gcc.gnu.org>
618 * trans-expr.c (fcncall_realloc_result): Use the natural type
619 for the address expression of 'res_desc'.
621 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com>
623 * gfortran.texi (Fortran 2003 status): Fix grammar.
625 2014-07-04 Tobias Burnus <burnus@net-b.de>
627 * resolve.c (resolve_assoc_var): Fix corank setting.
628 * trans-array.c (gfc_conv_descriptor_token): Change assert.
629 for select-type temporaries.
630 * trans-decl.c (generate_coarray_sym_init): Skip for
631 attr.select_type_temporary.
632 * trans-expr.c (gfc_conv_procedure_call): Fix for
633 select-type temporaries.
634 * trans-intrinsic.c (get_caf_token_offset): Ditto.
635 (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
637 * trans-types.h (gfc_get_dtype_rank_type): New.
638 * trans-types.c (gfc_get_dtype_rank_type): Ditto.
640 2014-07-03 Tobias Burnus <burnus@net-b.de>
642 * scanner.c (skip_free_comments): Fix indentation.
644 2014-07-02 Jakub Jelinek <jakub@redhat.com>
645 Fritz Reese <Reese-Fritz@zai.com>
647 * decl.c (variable_decl): Reject old style initialization
648 for derived type components.
650 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
654 * decl.c (check_bind_name_identifier): New function.
655 (gfc_match_bind_c): Match any constant expression as binding
657 * match.c (gfc_match_name_C): Remove.
659 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
662 * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
663 * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
665 * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
666 * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
667 * module.c (mio_symbol): Keep track of symbols which came from
669 (gfc_use_module): Keep track of the IEEE modules.
670 * trans-decl.c (gfc_get_symbol_decl): Adjust code since
671 we have new intrinsic modules.
672 (gfc_build_builtin_function_decls): Build decls for
673 ieee_procedure_entry and ieee_procedure_exit.
674 (is_from_ieee_module, is_ieee_module_used, save_fp_state,
675 restore_fp_state): New functions.
676 (gfc_generate_function_code): Save and restore floating-point
677 state on procedure entry/exit, when IEEE modules are used.
678 * intrinsic.texi: Document the IEEE modules.
680 2014-06-25 Tobias Burnus <burnus@net-b.de>
682 * interface.c (check_intents): Fix diagnostic with
685 2014-06-25 Tobias Burnus <burnus@net-b.de>
687 * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
688 when assigning a coindexed RHS scalar to a noncoindexed LHS
690 * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
691 for a noncoindexed scalar RHS.
693 2014-06-25 Tobias Burnus <burnus@net-b.de>
695 * check.c (check_co_minmaxsum): Add definable check.
696 * expr.c (gfc_check_vardef_context): Fix context == NULL case.
697 * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
699 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
702 2014-06-25 Jakub Jelinek <jakub@redhat.com>
704 * trans.h (gfc_omp_clause_linear_ctor): New prototype.
705 * trans-openmp.c (gfc_omp_linear_clause_add_loop,
706 gfc_omp_clause_linear_ctor): New functions.
707 (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
708 correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
709 * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
711 2014-06-24 Jakub Jelinek <jakub@redhat.com>
713 * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
715 * f95-lang.c (gfc_init_builtin_functions): Initialize
716 BUILT_IN_ASSUME_ALIGNED.
717 * gfortran.h (gfc_omp_namelist): Change udr field type to
718 struct gfc_omp_namelist_udr.
719 (gfc_omp_namelist_udr): New type.
720 (gfc_get_omp_namelist_udr): Define.
721 (gfc_resolve_code): New prototype.
722 * match.c (gfc_free_omp_namelist): Free name->udr.
723 * module.c (intrinsics): Add INTRINSIC_USER.
724 (fix_mio_expr): Likewise.
725 (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
726 * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
727 (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
728 Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
729 (struct resolve_omp_udr_callback_data): New type.
730 (resolve_omp_udr_callback, resolve_omp_udr_callback2,
731 resolve_omp_udr_clause): New functions.
732 (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
734 (omp_udr_callback): Don't check for implicitly declared functions
736 (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
737 implicitly declared subroutines here.
738 * resolve.c (resolve_function): If value.function.isym is non-NULL,
739 consider it already resolved.
740 (resolve_code): Renamed to ...
741 (gfc_resolve_code): ... this. No longer static.
742 (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
744 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
745 by reference type (C_PTR) variables.
746 (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
747 (gfc_trans_omp_udr_expr): Remove.
748 (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
749 Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
750 expand it as assignment or subroutine call. Don't initialize
753 2014-06-23 Tobias Burnus <burnus@net-b.de>
755 * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
756 explicit-size arrays with -fcoarray=lib.
758 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
761 * invoke.texi: Don't mention nonexisting -fcase-lower option.
763 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
766 * expr.c (scalarize_intrinsic_call): Take care of optional
769 2014-06-19 Tobias Burnus <burnus@net-b.de>
771 * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
774 2014-06-18 Tobias Burnus <burnus@net-b.de>
776 * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
777 * intrinsic.texi (OpenMP Modules): Ditto.
779 2014-06-18 Jakub Jelinek <jakub@redhat.com>
781 * cpp.c (cpp_define_builtins): Change _OPENMP macro to
783 * dump-parse-tree.c (show_omp_namelist): Add list_type
784 argument. Adjust for rop being u.reduction_op now,
785 handle depend_op or map_op.
786 (show_omp_node): Adjust callers. Print some new
787 OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
788 becoming a single OMP_LIST_DEPEND.
789 * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
791 (gfc_attribute_table): New variable.
792 (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
793 * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
794 EXEC_OMP_* codes and new clauses.
795 * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
796 ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
797 ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
798 ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
799 ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
800 ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
801 ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
802 ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
803 ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
804 ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
805 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
806 ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
807 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
808 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
809 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
810 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
811 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
812 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
813 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
814 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
815 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
816 (symbol_attribute): Add omp_declare_target field.
817 (gfc_omp_depend_op, gfc_omp_map_op): New enums.
818 (gfc_omp_namelist): Replace rop field with union
819 containing reduction_op, depend_op and map_op.
820 (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
821 (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
822 (gfc_omp_clauses): Add num_teams, device, thread_limit,
823 dist_sched_kind, dist_chunk_size fields.
824 (gfc_common_head): Add omp_declare_target field.
825 (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
826 EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
827 EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
828 EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
829 EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
830 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
831 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
832 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
833 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
834 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
835 EXEC_OMP_TARGET_UPDATE.
836 (gfc_add_omp_declare_target): New prototype.
837 * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
838 gfc_match_omp_distribute_parallel_do,
839 gfc_match_omp_distribute_parallel_do_simd,
840 gfc_match_omp_distribute_simd, gfc_match_omp_target,
841 gfc_match_omp_target_data, gfc_match_omp_target_teams,
842 gfc_match_omp_target_teams_distribute,
843 gfc_match_omp_target_teams_distribute_parallel_do,
844 gfc_match_omp_target_teams_distribute_parallel_do_simd,
845 gfc_match_omp_target_teams_distribute_simd,
846 gfc_match_omp_target_update, gfc_match_omp_teams,
847 gfc_match_omp_teams_distribute,
848 gfc_match_omp_teams_distribute_parallel_do,
849 gfc_match_omp_teams_distribute_parallel_do_simd,
850 gfc_match_omp_teams_distribute_simd): New prototypes.
851 * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
852 (attr_bits): Likewise.
853 (mio_symbol_attribute): Handle omp_declare_target attribute.
854 (gfc_free_omp_clauses): Free num_teams, device, thread_limit
855 and dist_chunk_size expressions.
856 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
857 OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
858 OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
859 OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
860 OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
861 OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
862 OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
863 OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
864 OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
865 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
866 OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
867 OMP_CLAUSE_DIST_SCHEDULE): Define.
868 (gfc_match_omp_clauses): Change mask parameter to unsigned int.
869 Adjust for rop becoming u.reduction_op. Disallow inbranch with
870 notinbranch. For depend clause, always create OMP_LIST_DEPEND
871 and fill in u.depend_op. Handle num_teams, device, map,
872 to, from, thread_limit and dist_schedule clauses.
873 (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
874 OMP_CLAUSE_NOTINBRANCH.
875 (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
876 OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
877 OMP_DISTRIBUTE_CLAUSES): Define.
878 (match_omp): New function.
879 (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
880 gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
881 gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
882 gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
883 gfc_match_omp_task): Rewritten using match_omp.
884 (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
885 Diagnose if the directives are followed by unexpected junk.
886 (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
887 gfc_match_omp_distribute_parallel_do_simd,
888 gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
889 gfc_match_omp_target, gfc_match_omp_target_data,
890 gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
891 gfc_match_omp_target_teams_distribute_parallel_do,
892 gfc_match_omp_target_teams_distribute_parallel_do_simd,
893 gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
894 gfc_match_omp_teams, gfc_match_omp_teams_distribute,
895 gfc_match_omp_teams_distribute_parallel_do,
896 gfc_match_omp_teams_distribute_parallel_do_simd,
897 gfc_match_omp_teams_distrbute_simd): New functions.
898 * openmp.c (resolve_omp_clauses): Adjust for
899 OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle
900 OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
901 dist_chunk_size and thread_limit.
902 (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
903 ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various
904 new EXEC_OMP_* codes.
905 (resolve_omp_do): Handle various new EXEC_OMP_* codes.
906 (gfc_resolve_omp_directive): Likewise.
907 (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
908 * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
909 offloading related directives.
910 (case_executable): Add ST_OMP_TARGET_UPDATE.
911 (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
913 (case_decl): Add ST_OMP_DECLARE_TARGET.
914 (gfc_ascii_statement): Handle new ST_OMP_* codes.
915 (parse_omp_do): Handle various new ST_OMP_* codes.
916 (parse_executable): Likewise.
917 * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
919 (resolve_code): Likewise.
920 (resolve_symbol): Change that !$OMP DECLARE TARGET variables
922 * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
923 * symbol.c (check_conflict): Check omp_declare_target conflicts.
924 (gfc_add_omp_declare_target): New function.
925 (gfc_copy_attr): Copy omp_declare_target.
926 * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
927 * trans-common.c (build_common_decl): Add "omp declare target"
929 * trans-decl.c (add_attributes_to_decl): Likewise.
930 * trans.h (gfc_omp_finish_clause): New prototype.
931 * trans-openmp.c (gfc_omp_finish_clause): New function.
932 (gfc_trans_omp_reduction_list): Adjust for rop being renamed
934 (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
935 change to OMP_LIST_DEPEND and fix up depend handling.
936 Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
937 thread_limit, device, dist_chunk_size and dist_sched_kind.
938 (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
939 (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
940 GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
941 GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
942 (gfc_split_omp_clauses): Handle splitting of clauses for new
944 (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
945 callable for combined constructs.
946 (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
947 (gfc_trans_omp_distribute, gfc_trans_omp_teams,
948 gfc_trans_omp_target, gfc_trans_omp_target_data,
949 gfc_trans_omp_target_update): New functions.
950 (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
951 new EXEC_OMP_* codes.
953 2014-06-18 Tobias Burnus <burnus@net-b.de>
956 * invoke.texi (-Wunused-parameter): Make clearer when
957 -Wextra implies this option.
959 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
962 * options.c (gfc_handle_option): Remove call to
963 handle_generated_option.
965 2014-06-17 Tobias Burnus <burnus@net-b.de>
967 * check.c (gfc_check_atomic, gfc_check_atomic_def):
968 Use argument for GFC_ISYM_CAF_GET.
969 * resolve.c (resolve_variable): Enable CAF_GET insertion.
970 (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
971 (resolve_ordinary_assign): Enable CAF_SEND insertion.
972 * trans-const.c (gfc_build_string_const,
973 gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
974 * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
975 gfor_fndecl_caf_sendget): New global variables.
976 (gfc_build_builtin_function_decls): Initialize them;
977 update co_min/max/sum initialization.
978 * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
979 get_tree_for_caf_expr and removed static.
980 (gfc_conv_procedure_call): Update call.
981 * trans-intrinsic.c (caf_get_image_index,
982 conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
983 get_caf_token_offset, gfc_conv_intrinsic_caf_get,
985 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
986 gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
987 (conv_co_minmaxsum): Update call for remove unused vector
989 (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
990 Skip a CAF_GET of the argument.
991 * trans-types.c (gfc_get_caf_vector_type): New.
992 * trans-types.h (gfc_get_caf_vector_type): New.
993 * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
994 gfor_fndecl_caf_sendget): New global variables.
995 (gfc_get_tree_for_caf_expr): New prototypes.
997 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
999 * trans-common.c (build_common_decl): Use
1001 * trans-decl.c (gfc_finish_var_decl): Likewise.
1002 (get_proc_pointer_decl): Likewise.
1004 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1008 * check.c (gfc_check_system_clock): Improve checking of arguments.
1009 * intrinsic.texi: Update doc of SYSTEM_CLOCK.
1010 * iresolve.c (gfc_resolve_system_clock): Choose library function
1011 used depending on argument kinds.
1012 * trans-decl.c (gfc_build_intrinsic_function_decls): Build
1013 decls for system_clock_4 and system_clock_8.
1014 * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
1015 (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
1016 * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
1019 2014-06-12 Tobias Burnus <burnus@net-b.de>
1021 * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
1022 * symbol.c (gfc_copy_formal_args_intr): Handle the case
1023 that absent optional arguments should be ignored.
1024 * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
1025 (gfc_conv_intrinsic_funcall,
1026 conv_generic_with_optional_char_arg): Update call.
1027 * resolve.c (gfc_resolve_intrinsic): Ditto.
1029 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr>
1030 Mikael Morin <mikael@gcc.gnu.org>
1033 * trans-expr.c (gfc_conv_expr_reference): Deallocate array
1036 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1039 * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
1041 * openmp.c (resolve_omp_clauses): Remove allocatable components
1042 diagnostics. Add associate-name and intent(in) pointer
1043 diagnostics for various clauses, diagnose procedure pointers in
1045 * parse.c (match_word_omp_simd): New function.
1046 (matchs, matcho): New macros.
1047 (decode_omp_directive): Change match macros to either matchs
1048 or matcho. Handle -fopenmp-simd.
1049 (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
1050 * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
1052 * trans-array.c (get_full_array_size): Rename to...
1053 (gfc_full_array_size): ... this. No longer static.
1054 (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument
1056 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
1057 duplicate_allocatable callers.
1058 (gfc_duplicate_allocatable_nocopy): New function.
1059 (structure_alloc_comps): Adjust g*_full_array_size and
1060 duplicate_allocatable caller.
1061 * trans-array.h (gfc_full_array_size,
1062 gfc_duplicate_allocatable_nocopy): New prototypes.
1063 * trans-common.c (create_common): Call gfc_finish_decl_attrs.
1064 * trans-decl.c (gfc_finish_decl_attrs): New function.
1065 (gfc_finish_var_decl, create_function_arglist,
1066 gfc_get_fake_result_decl): Call it.
1067 (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
1068 don't allocate it again.
1069 (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
1071 * trans.h (gfc_finish_decl_attrs): New prototype.
1072 (struct lang_decl): Add scalar_allocatable and scalar_pointer
1074 (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
1075 GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
1076 GFC_DECL_ASSOCIATE_VAR_P): Define.
1077 (GFC_POINTER_TYPE_P): Remove.
1078 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
1079 GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
1080 GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
1081 (gfc_omp_predetermined_sharing): Associate-names are predetermined.
1082 (enum walk_alloc_comps): New.
1083 (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
1084 gfc_walk_alloc_comps): New functions.
1085 (gfc_omp_private_outer_ref): Return true for scalar allocatables or
1086 decls with allocatable components.
1087 (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
1088 gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
1089 allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
1090 allocatables and decls with allocatable components.
1091 (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
1093 (gfc_trans_omp_reduction_list): Call
1094 gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
1095 (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
1096 (gfc_trans_omp_parallel_do_simd): Likewise.
1097 * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
1098 (gfc_get_derived_type): Call gfc_finish_decl_attrs.
1100 2014-06-09 Paul Thomas <pault@gcc.gnu.org>
1103 * trans-stmt.c (trans_associate_var): Check that array
1104 constructors are constant for direct reference.
1106 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1109 * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
1110 BESSEL_Y0, and BESSEL_Y1.
1112 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1115 * trans-decl.c (gfc_create_module_variable): Don't create
1116 Cray-pointee decls twice.
1118 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1120 * io.c (resolve_tag): Warn on non-default kind for NUMBER,
1121 NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
1123 2014-06-06 Jakub Jelinek <jakub@redhat.com>
1125 * dump-parse-tree.c (show_omp_namelist): Dump reduction
1126 id in each list item.
1127 (show_omp_node): Only handle OMP_LIST_REDUCTION, not
1128 OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't
1129 dump reduction id here.
1130 * frontend-passes.c (dummy_code_callback): Renamed to...
1131 (gfc_dummy_code_callback): ... this. No longer static.
1132 (optimize_reduction): Use gfc_dummy_code_callback instead of
1133 dummy_code_callback.
1134 * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
1135 (symbol_attribute): Add omp_udr_artificial_var bitfield.
1136 (gfc_omp_reduction_op): New enum.
1137 (gfc_omp_namelist): Add rop and udr fields.
1138 (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
1139 OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
1140 OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
1141 OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
1142 (OMP_LIST_REDUCTION): New.
1143 (gfc_omp_udr): New type.
1144 (gfc_get_omp_udr): Define.
1145 (gfc_symtree): Add n.omp_udr field.
1146 (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
1147 (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
1148 gfc_dummy_code_callback): New prototypes.
1149 * match.h (gfc_match_omp_declare_reduction): New prototype.
1150 * module.c (MOD_VERSION): Increase to 13.
1151 (omp_declare_reduction_stmt): New array.
1152 (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
1154 (read_module): Read OpenMP user defined reductions.
1155 (write_module): Write OpenMP user defined reductions.
1156 * openmp.c: Include arith.h.
1157 (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
1158 (gfc_match_omp_clauses): Handle user defined reductions.
1159 Store reduction kind into gfc_omp_namelist instead of using
1160 several OMP_LIST_* entries.
1161 (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
1162 gfc_match_omp_declare_reduction): New functions.
1163 (resolve_omp_clauses): Adjust for reduction clauses being only
1164 in OMP_LIST_REDUCTION list. Diagnose missing UDRs.
1165 (struct omp_udr_callback_data): New type.
1166 (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
1168 * parse.c (decode_omp_directive): Handle !$omp declare reduction.
1169 (case_decl): Add ST_OMP_DECLARE_REDUCTION.
1170 (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
1171 * resolve.c (resolve_fl_variable): Allow len=: or len=* on
1172 sym->attr.omp_udr_artificial_var symbols.
1173 (resolve_types): Call gfc_resolve_omp_udrs.
1174 * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
1175 use parent ns instead of gfc_current_ns.
1176 (gfc_get_sym_tree): Don't insert symbols into
1177 namespaces with omp_udr_ns set.
1178 (free_omp_udr_tree): New function.
1179 (gfc_free_namespace): Call it.
1180 * trans-openmp.c (struct omp_udr_find_orig_data): New type.
1181 (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
1182 (gfc_trans_omp_array_reduction): Renamed to...
1183 (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM
1184 argument, instead pass gfc_omp_namelist pointer N. Handle
1185 user defined reductions.
1186 (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
1187 Handle user defined reductions and reduction ops in gfc_omp_namelist.
1188 (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
1190 (gfc_split_omp_clauses): Likewise.
1192 2014-06-05 Richard Biener <rguenther@suse.de>
1195 * gfortranspec.c (spec_file): Remove.
1196 (find_spec_file): Likewise.
1197 (lang_specific_driver): Do not look for specs file in -L
1198 or append -specs command line argument.
1199 (lang_specific_pre_link): Always %:include libgfortran.spec.
1201 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
1203 * fortran/trans.c (trans_runtime_error_vararg): Call
1204 fold_build_call_array_loc instead of fold_builtin_call_array.
1206 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
1208 * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
1209 arguments to caf_init.
1211 2014-05-26 Tobias Burnus <burnus@net-b.de>
1213 * gfortran.texi (Project Status): Fix broken link.
1215 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
1218 * intrinsics.texi (CTIME): Remove mention of locale-dependent
1221 2014-05-26 Tobias Burnus <burnus@net-b.de>
1224 * trans-io.c (nml_full_name, transfer_namelist_element): Insert
1225 a '+' rather then '%' to differentiate namelist variable names
1226 that are based on extended derived types.
1228 2014-05-25 Tobias Burnus <burnus@net-b.de>
1230 * check.c (gfc_check_num_images): New.
1231 (gfc_check_this_image): Handle distance argument.
1232 * intrinsic.c (add_functions): Update this_image and num_images
1233 for new distance and failed arguments.
1234 * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
1236 * intrinsic.h (gfc_check_num_images): New.
1237 (gfc_check_this_image, gfc_simplify_num_images,
1238 gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
1239 * iresolve.c (gfc_resolve_this_image): Handle distance argument.
1240 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
1241 Handle new arguments.
1242 * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
1243 (gfc_conv_intrinsic_function): Update trans_num_images call.
1245 2014-05-23 Tobias Burnus <burnus@net-b.de>
1247 * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
1248 * gfortran.texi: Ditto.
1250 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1252 * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1253 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1254 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1255 * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1257 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1259 * f95-lang.c (pushlevel): Adjust.
1260 * trans-decl.c (gfc_allocate_lang_decl): Adjust.
1261 (gfc_find_module): Likewise.
1262 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1263 (gfc_get_array_type_bounds): Likewise.
1264 (gfc_nonrestricted_type): Likewise.
1265 * trans.h: Don't use variable_size gty attribute.
1267 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
1269 * check.c (gfc_check_fn_rc2008): move "argument" to the right
1272 2014-05-12 Tobias Burnus <burnus@net-b.de>
1275 * openmp.c (resolve_omp_do): Reject do concurrent loops.
1277 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1280 * frontend-passes.c (in_assoc_list): New variable.
1281 (optimize_namespace): Initialize in_assoc_list
1282 (combine_array_constructor): Don't try to combine
1284 (gfc_code_walker): Keep track of in_assoc_list.
1286 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1288 * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
1289 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1290 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1291 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1292 ST_OMP_DECLARE_SIMD.
1293 (gfc_omp_namelist): New typedef.
1294 (gfc_get_omp_namelist): Define.
1295 (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
1296 OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
1297 (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
1298 (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
1299 Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
1300 simdlen_expr fields.
1301 (gfc_omp_declare_simd): New typedef.
1302 (gfc_get_omp_declare_simd): Define.
1303 (gfc_namespace): Add omp_declare_simd field.
1304 (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1305 EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
1306 EXEC_OMP_PARALLEL_DO_SIMD.
1307 (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
1308 and GFC_OMP_ATOMIC_SWAP.
1309 (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
1310 (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
1311 gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
1313 * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
1314 * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
1315 * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
1316 simdlen_expr. Use gfc_free_omp_namelist instead of
1318 (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
1320 (gfc_match_omp_variable_list): Add end_colon, headp and
1321 allow_sections arguments. Handle parsing of array sections.
1322 Use *omp_namelist* instead of *namelist* data structure and
1323 functions/macros. Allow termination at : character.
1324 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
1325 OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
1326 OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
1327 (gfc_match_omp_clauses): Change first and needs_space variables
1328 into arguments with default values. Parse inbranch, notinbranch,
1329 proc_bind, safelen, simdlen, uniform, linear, aligned and
1331 (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
1332 (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
1333 (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
1334 (gfc_match_omp_do_simd): New function.
1335 (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
1336 data structure and functions/macros.
1337 (gfc_match_omp_simd, gfc_match_omp_declare_simd,
1338 gfc_match_omp_parallel_do_simd): New functions.
1339 (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
1340 (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
1341 gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
1343 (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
1344 Use *omp_namelist* instead of *namelist* data structure and
1345 functions/macros. Resolve uniform, aligned, linear, depend,
1346 safelen and simdlen clauses.
1347 (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
1348 addition, recognize atomic swap.
1349 (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
1350 of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
1351 EXEC_OMP_PARALLEL_DO.
1352 (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
1353 data structure and functions/macros.
1354 (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1355 EXEC_OMP_PARALLEL_DO_SIMD.
1356 (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1357 EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
1358 resolve_omp_clauses caller.
1359 (gfc_resolve_omp_declare_simd): New function.
1360 * parse.c (decode_omp_directive): Parse cancellation point, cancel,
1361 declare simd, end do simd, end simd, end parallel do simd,
1362 end taskgroup, parallel do simd, simd and taskgroup directives.
1363 (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
1364 (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
1365 ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
1366 (case_decl): Add ST_OMP_DECLARE_SIMD.
1367 (gfc_ascii_statement): Handle ST_OMP_CANCEL,
1368 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1369 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1370 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1371 ST_OMP_DECLARE_SIMD.
1372 (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
1373 ST_OMP_PARALLEL_DO_SIMD.
1374 (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
1375 (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
1376 ST_OMP_PARALLEL_DO_SIMD.
1377 (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
1378 ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
1379 * trans-decl.c (gfc_get_extern_function_decl,
1380 gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
1382 * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
1383 EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
1384 safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
1385 of depend, aligned and linear clauses.
1386 * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
1387 and EXEC_OMP_PARALLEL_DO_SIMD.
1388 (gfc_free_omp_namelist): New function.
1389 * dump-parse-tree.c (show_namelist): Removed.
1390 (show_omp_namelist): New function.
1391 (show_omp_node): Handle OpenMP 4.0 additions.
1392 (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1393 EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
1395 * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
1396 gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
1397 gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
1398 gfc_match_omp_taskgroup): New prototypes.
1399 * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
1400 argument, handle it. Allow current_function_decl to be NULL.
1401 (gfc_trans_omp_variable_list): Add declare_simd argument, pass
1402 it through to gfc_trans_omp_variable and disregard whether
1403 sym is referenced if declare_simd is true. Work on gfc_omp_namelist
1404 instead of gfc_namelist.
1405 (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
1406 gfc_namelist. Adjust gfc_trans_omp_variable caller.
1407 (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
1408 to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
1409 instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
1410 simdlen, depend, uniform, linear, proc_bind and aligned clauses.
1412 (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
1413 adjust for GFC_OMP_ATOMIC_* changes.
1414 (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
1416 (gfc_trans_omp_do): Add op argument, handle simd translation into
1418 (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
1419 GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
1420 GFC_OMP_MASK_PARALLEL): New.
1421 (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
1422 (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
1423 (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
1425 (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
1426 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1427 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1428 Adjust gfc_trans_omp_do caller.
1429 (gfc_trans_omp_declare_simd): New function.
1430 * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
1431 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1432 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1433 For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
1435 * module.c (omp_declare_simd_clauses): New variable.
1436 (mio_omp_declare_simd): New function.
1437 (mio_symbol): Call it.
1438 * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
1439 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1440 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1441 * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
1442 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1443 (resolve_code): 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 (resolve_types): Call gfc_resolve_omp_declare_simd.
1448 2014-05-11 Tobias Burnus <burnus@net-b.de>
1450 * trans-intrinsic.c (gfc_build_builtin_function_decls):
1451 Change type of second argument to int.
1453 2014-05-09 Mike Stump <mikestump@comcast.net>
1456 * trans-array.c (gfc_conv_array_initializer): Fix wide-int
1459 2014-05-08 Tobias Burnus <burnus@net-b.de>
1461 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
1462 and GFC_ISYM_CAF_SEND.
1463 * intrinsic.c (add_functions): Add only internally
1464 accessible caf_get and caf_send functions.
1465 * resolve.c (add_caf_get_intrinsic,
1466 remove_caf_get_intrinsic): New functions.
1467 (resolve_variable): Resolve expression rank and
1468 prepare for add_caf_get_intrinsic call.
1469 (gfc_resolve_expr): For variables, remove rank
1471 (resolve_ordinary_assign): Prepare call to
1473 (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
1474 the LHS of an assignment.
1476 2014-05-08 Tobias Burnus <burnus@net-b.de>
1478 * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
1480 2014-05-08 Tobias Burnus <burnus@net-b.de>
1482 * check.c (check_co_minmaxsum, gfc_check_co_minmax,
1483 gfc_check_co_sum): New.
1484 * error.c (gfc_notify_std): Update -std=f2008ts.
1485 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
1486 GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
1487 * intrinsic.h (gfc_check_co_minmax,
1488 gfc_check_co_sum): Declare.
1489 * intrinsic.c (add_subroutines): Add co_min, co_max
1491 (gfc_check_intrinsic_standard): Update text for
1493 * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
1495 * invoke.texi (-std=f2008ts): Update wording.
1496 * trans.h (gfor_fndecl_co_max,
1497 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1498 * trans-decl.c (gfor_fndecl_co_max,
1499 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1500 (gfc_build_builtin_function_decls): Assign to it.
1501 * trans-intrinsic.c (conv_co_minmaxsum): New.
1502 (gfc_conv_intrinsic_subroutine): Call it.
1504 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1505 Mike Stump <mikestump@comcast.net>
1506 Richard Sandiford <rdsandiford@googlemail.com>
1508 * target-memory.c: Include wide-int.h.
1509 (gfc_interpret_logical): Use wide-int interfaces.
1510 * trans-array.c: Include wide-int.h.
1511 (gfc_conv_array_initializer): Use wide-int interfaces.
1512 * trans-const.c: Include wide-int.h.
1513 (gfc_conv_string_init): Use wide-int interfaces.
1514 (gfc_conv_mpz_to_tree): Likewise.
1515 (gfc_conv_tree_to_mpz): Likewise.
1516 * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
1517 * trans-expr.c: Include wide-int.h.
1518 (gfc_conv_cst_int_power): Use wide-int interfaces.
1519 (gfc_string_to_single_character): Likewise.
1520 (gfc_optimize_len_trim): Likewise.
1521 * trans-intrinsic.c: Include wide-int.h.
1522 (trans_this_image): Use wide-int interfaces.
1523 (gfc_conv_intrinsic_bound): Likewise.
1524 (conv_intrinsic_cobound): Likewise.
1525 * trans-types.c (gfc_init_types): Likewise.
1526 (gfc_get_array_type_bounds): Pass an integer of the correct type
1527 instead of using integer_one_node.
1529 2014-04-30 Tobias Burnus <burnus@net-b.de>
1531 * trans-decl.c (create_function_arglist): Add hidden coarray arguments
1532 also for polymorphic coarrays.
1533 * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
1534 also for polymorphic coarrays.
1536 2014-04-30 Tobias Burnus <burnus@net-b.de>
1538 * resolve.c (resolve_function): Don't do
1539 assumed-size check for lcobound/ucobound.
1540 * trans-types.c (gfc_build_array_type): Only build an array
1541 descriptor with codimensions for allocatable coarrays.
1543 2014-04-30 Tobias Burnus <burnus@net-b.de>
1545 * gfortran.h (gfc_init_coarray_decl): Remove.
1546 * parse.c (translate_all_program_units): Remove call to it.
1547 (gfc_parse_file): Update call.
1548 * trans.h (gfor_fndecl_caf_this_image,
1549 gfor_fndecl_caf_num_images): Add.
1550 (gfort_gvar_caf_num_images,
1551 gfort_gvar_caf_this_image): Remove.
1552 * trans-decl.c (gfor_fndecl_caf_this_image,
1553 gfor_fndecl_caf_num_images): Add.
1554 (gfort_gvar_caf_num_images,
1555 gfort_gvar_caf_this_image): Remove.
1556 (gfc_build_builtin_function_decls): Init new decl.
1557 (gfc_init_coarray_dec): Remove.
1558 (create_main_function): Change calls.
1559 * trans-intrinsic.c (trans_this_image, trans_image_index,
1560 conv_intrinsic_cobound): Generate call to new library function
1561 instead of to a static variable.
1562 * trans-stmt.c (gfc_trans_sync): Ditto.
1564 2014-04-30 Tobias Burnus <burnus@net-b.de>
1566 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
1567 and derived-type coarrays.
1569 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1573 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
1574 * arith.c (gfc_int2int): Convert number to signed if
1575 arithmetic overflow is not checked.
1576 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
1577 size if range checking is in force.
1578 (convert_mpz_to_signed): Make non-static, rename to
1579 (gfc_convert_mpz_to_signed).
1580 (simplify_dshift): Use gfc_convert_mpz_to_signed.
1581 (gfc_simplify_ibclr): Likewise.
1582 (gfc_simplify_ibits): Likewise.
1583 (gfc_simplify_ibset): Likewise.
1584 (simplify_shift): Likewise.
1585 (gfc_simplify_ishiftc): Likewise.
1586 (gfc_simplify_maskr): Likewise.
1587 (gfc_simplify_maskl): Likewise.
1589 2014-04-22 Tobias Burnus <burnus@net-b.de>
1592 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
1595 2014-04-17 Jakub Jelinek <jakub@redhat.com>
1597 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
1598 argument is enum machine_mode.
1600 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
1604 * trans.h: Add 'use_offset' bitfield to gfc_se.
1605 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
1606 as a trigger to unconditionally recalculate the offset for
1607 array slices and constant arrays.
1608 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
1609 trans-stmt.c (trans_associate_var): Ditto.
1610 (gfc_conv_procedure_call): Ditto.
1612 2014-04-11 Tobias Burnus <burnus@net-b.de>
1616 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
1617 and finalization wrappers are generated.
1619 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
1621 * intrinsic.texi (RANDOM_SEED): Improve example.
1623 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
1625 * class.c (gfc_build_class_symbol): Append "_t" to target class
1626 names to make the generated type names unique.
1628 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1631 * trans-types.c (gfc_get_function_type): In case of recursion
1632 build a variadic function type with empty argument list instead of a
1633 stdarg-like function type with incomplete argument list.
1635 2014-04-04 Tobias Burnus <burnus@net-b.de>
1637 * check.c (gfc_check_cmplx): Fix typo.
1639 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1640 Tobias Burnus <burnus@net-b.de>
1643 * trans-expr.c (gfc_conv_derived_to_class): Avoid
1644 generation of out-of-bounds range expr.
1646 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1649 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
1652 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1655 * frontend-passes.c (cfe_code): Do not walk subtrees
1658 2014-03-27 Tobias Burnus <burnus@net-b.de>
1661 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
1664 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
1667 * fortran.texi: Document Volatile COMMON as not supported.
1669 2014-03-22 Jakub Jelinek <jakub@redhat.com>
1672 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
1675 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1678 * gfortran.texi: Add description of namelist DELIM= behavior.
1680 2014-03-19 Tobias Burnus <burnus@net-b.>
1683 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
1684 * resolve.c (resolve_ordinary_assign): Ditto.
1686 2014-03-19 Tobias Burnus <burnus@net-b.de>
1690 * gfortran.h (gfc_unset_implicit_pure): New prototype.
1691 * resolve.c (gfc_unset_implicit_pure): New.
1692 (resolve_structure_cons, resolve_function,
1693 pure_subroutine): Use it.
1694 * decl.c (match_old_style_init, gfc_match_data,
1695 match_pointer_init, variable_decl): Ditto.
1696 * expr.c (gfc_check_pointer_assign): Ditto.
1697 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
1698 * io.c (match_vtag, gfc_match_open, gfc_match_close,
1699 match_filepos, gfc_match_inquire, gfc_match_print,
1700 gfc_match_wait): Ditto.
1701 * match.c (gfc_match_critical, gfc_match_stopcode,
1702 lock_unlock_statement, sync_statement, gfc_match_allocate,
1703 gfc_match_deallocate): Ditto.
1704 * parse.c (decode_omp_directive): Ditto.
1705 * symbol.c (gfc_add_save): Ditto.
1707 2014-03-18 Janus Weil <janus@gcc.gnu.org>
1711 * decl.c (match_attr_spec): Revert r208590.
1713 2014-03-18 Jakub Jelinek <jakub@redhat.com>
1716 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
1719 2014-03-18 Tobias Burnus <burnus@net-b.de>
1722 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
1723 (gfc_trans_io_runtime_check): Remove.
1724 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
1725 as argument, add predictor to block.
1726 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
1727 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
1728 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
1729 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
1730 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
1732 * trans-expr.c (gfc_conv_procedure_call): Ditto.
1733 * trans-stmt.c (gfc_trans_allocate): Ditto.
1734 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
1736 2014-03-15 Janus Weil <janus@gcc.gnu.org>
1739 * decl.c (match_attr_spec): Variables in the main program implicitly
1740 get the SAVE attribute in Fortran 2008.
1742 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
1745 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
1746 if it has transposed dimensions.
1748 2014-03-08 Tobias Burnus <burnus@net-b.de>
1751 * f95-lang.c (gfc_init): Return false when only
1753 * options.c (gfc_post_options): Ditto.
1755 2014-03-08 Tobias Burnus <burnus@net-b.de>
1757 * gfortran.texi (Fortran 2003 Status): Mention finalization,
1758 deferred-length character support and input rounding.
1759 (Fortran 2008 Status): Mention that at termination
1760 signalling exceptions are shown.
1762 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
1763 Janus Weil <janus@gcc.gnu.org>
1766 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
1767 * primary.c (build_actual_constructor): It is not an error if
1768 a missing component has the deferred_parameter attribute;
1769 equally, if one is given a value, it is an error.
1770 * resolve.c (resolve_fl_derived0): Remove error for deferred
1771 character length components. Add the hidden string length
1772 field to the structure. Give it the deferred_parameter
1774 * trans-array.c (duplicate_allocatable): Add a strlen field
1775 which is used as the element size if it is non-null.
1776 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
1777 NULL to the new argument in duplicate_allocatable.
1778 (structure_alloc_comps): Set the hidden string length as
1779 appropriate. Use it in calls to duplicate_allocatable.
1780 (gfc_alloc_allocatable_for_assignment): When a deferred length
1781 backend declaration is variable, use that; otherwise use the
1782 string length from the expression evaluation.
1783 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
1784 character length component, the string length should have the
1785 value of the hidden string length field.
1786 (gfc_trans_subcomponent_assign): Set the hidden string length
1787 field for deferred character length components. Allocate the
1788 necessary memory for the string.
1789 (alloc_scalar_allocatable_for_assignment): Same change as in
1790 gfc_alloc_allocatable_for_assignment above.
1791 * trans-stmt.c (gfc_trans_allocate): Likewise.
1792 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
1793 * trans-types.c (gfc_get_derived_type): Set the tree type for
1794 a deferred character length component.
1795 * trans.c (gfc_deferred_strlen): New function.
1796 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
1798 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
1801 * frontend-passes.c (optimize_comparison): Guard two union accesses
1802 with the corresponding tag checks.
1804 2014-02-28 Janus Weil <janus@gcc.gnu.org>
1807 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
1808 procedure for characters.
1810 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1813 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
1816 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1819 * gfortran.h (gfc_build_class_symbol): Removed argument.
1820 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
1821 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
1822 delayed now, except for unlimited polymorphics.
1823 (comp_is_finalizable): Procedure pointer components are not finalizable.
1824 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
1825 'gfc_build_class_symbol'.
1826 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
1828 * symbol.c (gfc_set_default_type): Ditto.
1830 2014-02-19 Janus Weil <janus@gcc.gnu.org>
1833 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
1834 functions, which are used as procedure pointer target.
1836 2014-02-18 Tobias Burnus <burnus@net-b.de>
1839 * expr.c (gfc_check_pointer_assign): Add check for
1841 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
1842 decl in a corner case.
1844 2014-02-18 Janus Weil <janus@gcc.gnu.org>
1847 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
1848 arguments to prevent ICE.
1850 2014-02-17 Janus Weil <janus@gcc.gnu.org>
1853 * resolve.c (build_default_init_expr): Don't initialize character
1854 variable if -fno-automatic is given.
1856 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
1859 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
1860 number of arguments.
1862 2014-02-11 Jakub Jelinek <jakub@redhat.com>
1865 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
1866 on decl if sym->attr.optional.
1868 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1871 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
1872 attribute for the 'associate-name' if necessary.
1873 * trans-stmt.c (trans_associate_var): If the 'associate-name'
1874 is a subref_array_pointer, assign the element size of the
1875 associate variable to 'span'.
1877 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1880 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
1881 actual argument to a formal argument with the value attribute
1882 in an elemental procedure.
1884 2014-02-08 Janus Weil <janus@gcc.gnu.org>
1885 Mikael Morin <mikael.morin@gcc.gnu.org>
1888 * class.c (generate_finalization_wrapper): Assert that proc_tree has
1889 been set in gfc_resolve_finalizers.
1890 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
1893 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
1895 PR translation/52289
1896 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
1897 in an error message.
1899 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
1902 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
1905 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
1908 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
1909 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
1910 pointer to the string is stored.
1911 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
1912 gfc_conv_string_parameter to ensure that a pointer to is passed
1913 to the elemental function.
1915 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
1918 * trans-stmt.c (gfc_trans_allocate): Before the pointer
1919 assignment to transfer the source _vptr to a class allocate
1920 expression, the final class reference should be exposed. The
1921 tail that includes the _data and array references is stored.
1922 This reduced expression is transferred to 'lhs' and the _vptr
1923 added. Then the tail is restored to the allocate expression.
1925 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
1928 * module.c (read_module): Assert for component name correctness.
1930 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
1933 * module.c (MOD_VERSION): Bump.
1934 (fp2, find_pointer2): Remove.
1935 (mio_component_ref): Don't forcedfully set the containing derived type
1936 symbol for loading. Remove unused argument.
1937 (mio_ref): Update caller
1938 (mio_symbol): Dump component list earlier.
1939 (skip_list): New argument nest_level. Initialize level with the new
1941 (read_module): Add forced pointer components association for derived
1944 2014-01-12 Janus Weil <janus@gcc.gnu.org>
1947 * decl.c (gfc_match_data_decl): Improve error recovery.
1949 2014-01-09 Tobias Burnus <burnus@net-b.de>
1951 * cpp.c (gfc_cpp_handle_option): Add missing break.
1952 * trans-io.c (transfer_expr): Silence unused value warning.
1954 2014-01-08 Janus Weil <janus@gcc.gnu.org>
1957 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
1959 2014-01-06 Janus Weil <janus@gcc.gnu.org>
1962 * class.c (comp_is_finalizable): New function to dermine if a given
1963 component is finalizable.
1964 (finalize_component, generate_finalization_wrapper): Use it.
1966 2014-01-06 Janus Weil <janus@gcc.gnu.org>
1970 * resolve.c (resolve_global_procedure): Don't apply to c-binding
1972 (gfc_verify_binding_labels): Remove duplicate line.
1974 2014-01-04 Janus Weil <janus@gcc.gnu.org>
1977 * class.c (add_proc_comp): Copy pure attribute.
1979 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1981 Update copyright years
1983 2014-01-02 Tobias Burnus <burnus@net-b.de>
1985 * gfortranspec.c (lang_specific_driver): Update copyright notice
1987 * gfc-internals.texi: Bump @copying's copyright year.
1988 * gfortran.texi: Ditto.
1989 * intrinsic.texi: Ditto.
1990 * invoke.texi: Ditto.
1992 2014-01-02 Janus Weil <janus@gcc.gnu.org>
1995 * resolve.c (resolve_typebound_procedures): No need to create the vtab
1998 Copyright (C) 2014 Free Software Foundation, Inc.
2000 Copying and distribution of this file, with or without modification,
2001 are permitted in any medium without royalty provided the copyright
2002 notice and this notice are preserved.