re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
[official-gcc.git] / gcc / fortran / ChangeLog
blob113aaa747f8efeb4e5b5c64fd84aafbe185ac99b
1 2014-10-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3         PR fortran/44054
4         PR fortran/54687
5         * gfortran.h (gfc_warning_cmdline): Add overload that takes an
6         option.
7         (gfc_error_cmdline): Declare.
8         * error.c (gfc_warning_cmdline): New overload that takes an option.
9         (gfc_error_cmdline): New.
10         * lang.opt (Wmissing-include-dirs): New.
11         * scanner.c (add_path_to_list): Use the new functions.
12         (load_file): Likewise.
13         * options.c (gfc_init_options): Wmissing-include-dirs is enabled
14         by default in Fortran.
15         (gfc_handle_option): Accept automatically handled options.
17 2014-10-06  Tobias Burnus  <burnus@net-b.de>
19         * libgfortran.h (GFC_STD_F2015): Add.
20         * decl.c (gfc_match_implicit_none): Handle spec list.
21         (gfc_match_implicit): Move double intrinsic warning here.
22         * gfortran.h (gfc_namespace): Add has_implicit_none_export:1.
23         (gfc_set_implicit_none): Update interface.
24         * interface.c (gfc_procedure_use): Add implicit-none external
25         error check.
26         * parse.c (accept_statement): Remove call.
27         (verify_st_order): Permit that external-implict-none follows
28         implicit statement.
29         * symbol.c (gfc_set_implicit_none): Handle external/type
30         implicit none.
32 2014-10-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
34         PR fortran/36534
35         * resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
37 2014-09-25  Tobias Burnus  <burnus@net-b.de>
39         * check.c (check_co_collective): Renamed from check_co_minmaxsum,
40         handle co_reduce.
41         (gfc_check_co_minmax, gfc_check_co_sum): Update call.
42         (gfc_check_co_broadcast, gfc_check_co_reduce): New.
43         * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
44         GFC_ISYM_CO_REDUCE.
45         * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
46         * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
47         proto types.
48         * intrinsic.texi (CO_BROADCAST): Add.
49         * trans.h (gfor_fndecl_co_broadcast): New.
50         * trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
51         (gfc_build_builtin_function_decls): Add decl for it,
52         * trans-intrinsic.c (conv_co_collective): Renamed from
53         conv_co_minmaxsum. Handle co_reduce.
54         (gfc_conv_intrinsic_subroutine): Handle co_reduce.
56 2014-09-23  Jakub Jelinek  <jakub@redhat.com>
58         PR fortran/63331
59         * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
60         instead of VAR_DECL for base_decl.
62 2014-09-21  Jan Hubicka  <hubicka@ucw.cz>
64         * openmp.c (omp_context): Rename to ...
65         (fortran_omp_context): ... this one.
67 2014-09-21  Dominique d'Humieres <dominiq@lps.ens.fr>
69         * resolve.c (resolve_fl_procedure): Remove duplicated lines.
71 2014-09-20  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
72             Tobias Burnus  <burnus@net-b.de>
74         * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
75         generating temporary for value argument.
77 2014-09-20  Joost VandeVondele  <vondele@gcc.gnu.org>
79         * trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
80         (gfc_conv_class_to_class): Likewise.
81         (gfc_conv_procedure_call): Likewise.
82         (arrayfunc_assign_needs_temporary): Likewise.
83         (realloc_lhs_loop_for_fcn_call): Likewise.
84         (gfc_trans_assignment_1): Likewise.
85         * trans-array.c (gfc_conv_array_ref): Likewise.
86         (gfc_array_allocate): Likewise.
87         (gfc_alloc_allocatable_for_assignment): Likewise.
88         * symbol.c (generate_isocbinding_symbol): Likewise.
89         * class.c (finalization_scalarizer): Likewise.
90         (finalizer_insert_packed_call): Likewise.
91         (generate_finalization_wrapper): Likewise.
92         (find_intrinsic_vtab): Likewise.
93         * decl.c (gfc_match_import): Likewise.
94         (match_procedure_decl): Likewise.
95         (gfc_match_subroutine): Likewise.
96         (gfc_match_bind_c): Likewise.
97         (gfc_match_volatile): Likewise.
98         * trans-common.c (create_common): Likewise.
99         * error.c (gfc_diagnostic_starter): Likewise.
100         * trans-stmt.c (gfc_trans_sync): Likewise.
101         (gfc_trans_critical): Likewise.
102         (gfc_trans_simple_do): Likewise.
103         (gfc_trans_do): Likewise.
104         (gfc_trans_where_assign): Likewise.
105         * expr.c (gfc_is_simply_contiguous): Likewise.
106         * module.c (unquote_string): Likewise.
107         * trans.c (gfc_add_finalizer_call): Likewise.
108         * trans-types.c (gfc_init_kinds): Likewise.
109         * scanner.c (preprocessor_line): Likewise.
110         * gfortranspec.c (lang_specific_driver): Likewise.
111         * frontend-passes.c (create_var): Likewise.
112         (cfe_expr_0): Likewise.
113         * resolve.c (check_host_association): Likewise.
114         (gfc_resolve_code): Likewise.
115         (resolve_fl_derived0): Likewise.
116         (resolve_symbol): Likewise.
117         * f95-lang.c (poplevel): Likewise.
118         * trans-decl.c (create_main_function): Likewise.
119         * trans-io.c (transfer_expr): Likewise.
120         * arith.c (gfc_arith_divide): Likewise.
121         * parse.c (resolve_all_program_units): Likewise.
122         * check.c (gfc_check_rank): Likewise.
123         (gfc_check_sizeof): Likewise.
124         (is_c_interoperable): Likewise.
125         * dependency.c (gfc_dep_difference): Likewise.
126         * primary.c (gfc_match_rvalue): Likewise.
127         * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
128         (conv_isocbinding_subroutine): Likewise.
129         * options.c (gfc_post_options): Likewise.
130         (gfc_handle_fpe_option): Likewise.
131         (gfc_get_option_string): Likewise.
132         * simplify.c (simplify_transformation_to_scalar): Likewise.
133         (gfc_simplify_spread): Likewise.
135 2014-09-19  Joost VandeVondele  <vondele@gcc.gnu.org>
137         PR fortran/63152
138         * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
140 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
142         * Make-lang.in (check_gfortran_parallelize): Change to just an upper
143         bound number.
145 2014-09-13  Tobias Burnus  <burnus@net-b.de>
147         PR fortran/63252
148         * trans-decl.c (gfc_build_builtin_function_decls): Fix
149         caf_unlock declaration.
151 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
153         * trans-types.c (gfc_init_kinds): Check
154         targetm.libgcc_floating_mode_supported_p for floating-point
155         modes.  Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE.
157 2014-09-05  Joost VandeVondele  <vondele@gcc.gnu.org>
159         PR fortran/62245
160         * intrinsic.texi (INT): clarify result.
162 2014-09-03  Fritz Reese  <Reese-Fritz@zai.com>
164         PR fortran/62174
165         * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
166         when matching a component declaration.
168 2014-09-02  Marek Polacek  <polacek@redhat.com>
170         PR fortran/62270
171         * interface.c (compare_parameter): Fix condition.
172         * trans-expr.c (gfc_conv_procedure_call): Likewise.
174 2014-08-31  Fritz Reese  <Reese-Fritz@zai.com>
176         PR fortran/62309
177         * resolve.c (apply_default_init_local): Don't treat variables
178         in RECURSIVE procedures as saved.
180 2014-08-31  Tobias Burnus  <burnus@net-b.de>
182         * trans-decl.c (gfc_build_builtin_function_decls): Add
183         may_require_tmp dummy argument.
184         * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
185         conv_caf_send): Handle may_require_tmp argument.
186         (gfc_conv_intrinsic_function): Update call.
187         * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
188         _gfortran_caf_sendget): Update interface description.
190 2014-08-30  Tobias Burnus  <burnus@net-b.de>
192         * trans.h (gfc_caf_get_image_index,
193         gfc_get_caf_token_offset): New prototypes.
194         * trans-expr.c (gfc_caf_get_image_index): Moved from
195         trans-intrinsic.c and renamed.
196         (gfc_get_caf_token_offset) Ditto; support offset = NULL
197         with early return.
198         * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
199         Moved to trans-expr.
200         (gfc_conv_intrinsic_caf_get, conv_caf_send,
201         conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
202         conv_intrinsic_atomic_cas): Update callers.
204 2014-08-30  Tobias Burnus  <burnus@net-b.de>
206         PR fortran/62278
207         PR fortran/44735
208         PR fortran/60593
209         * dependency.c (gfc_check_dependency): Allow for optimizations
210         in the pointer-alias check.
212 2014-08-30  Janne Blomqvist  <jb@gcc.gnu.org>
214         * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
215         unlink().
217 2014-08-29  Jeffrey Armstrong  <jeffrey.armstrong@approximatrix.com>
219         PR fortran/62215
220         * module.c (gfc_dump_module): Unlink old module file before
221         renaming new one.
223 2014-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
225         * frontend_passes (expr_array):  Replace by vec template.
226         (expr_size):  Remove.
227         (expr_count):  Remove.
228         (doloop_list):  Replace by vec template.
229         (doloop_size):  Remove.
230         (gfc_run_passes):  Adjust to use of vec template.
231         (cfe_register_funcs):  Likewise.
232         (cfe_expr_0):  Likewise.
233         (doloop_code):  Likewise.
235 2014-08-22  Steven Bosscher  <steven@gcc.gnu.org>
237         PR fortran/62135
238         * resolve.c (resolve_select): Fix list traversal in case the
239         last element of the CASE list was dropped as unreachable code.
241 2014-08-22  Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
243         PR fortran/61234
244         * lang.opt (Wuse-without-only): New flag.
245         * gfortran.h (gfc_option_t): Add it.
246         * invoke.texi: Document it.
247         * module.c (gfc_use_module): Warn if needed.
248         * options.c (gfc_init_options,gfc_handle_option): Init accordingly.
250 2014-08-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
252         PR fortran/62214
253         * frontend-passes.c (optimize_binop_array_assignment):
254         Do not try to optimize the array assignment for string
255         concatenation.
257 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
259         PR fortran/44054
260         * error.c (gfc_diagnostic_build_locus_prefix): New function.
261         (gfc_diagnostic_starter): Follow Fortran FE diagnostics.
262         (gfc_diagnostic_finalizer): Do not call default finalizer.
264 2014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
266         PR fortran/44054
267         * error.c (gfc_diagnostic_finalizer): Call default finalizer.
269 2014-08-20  Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
271         * options.c (gfc_init_options_struct): assert that the frontend sets
272         flag_errno_math and flag_associative_math.
274 2014-08-17  Tobias Burnus  <burnus@net-b.de>
276         * resolve.c (gfc_resolve_finalizers): Ensure that parents are
277         resolved first.
279 2014-08-17  Tobias Burnus  <burnus@net-b.de>
281         * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
282         IOCALL_SET_NML_VAL.
283         (transfer_namelist_element): Use proper int type as argument.
285 2014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
287         PR fortran/62142
288         * trans-expr.c (is_runtime_conformable):  Add NULL pointer checks.
290 2014-08-15  Tobias Burnus  <burnus@net-b.de>
292         * resolve.c (resolve_critical): Fix name mangling.
293         * trans-stmt.c (gfc_trans_critical): Fix lock call.
295 2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
297         PR fortran/44054
298         * gfortran.h: Define GCC_DIAG_STYLE.
299         (gfc_diagnostics_init,gfc_warning_cmdline): Declare.
300         * trans-array.c: Include gfortran.h before diagnostic-core.h.
301         * trans-expr.c: Likewise.
302         * trans-openmp.c: Likewise.
303         * trans-const.c: Likewise.
304         * trans.c: Likewise.
305         * trans-types.c: Likewise.
306         * f95-lang.c: Likewise.
307         * trans-decl.c: Likewise.
308         * trans-io.c: Likewise.
309         * trans-intrinsic.c: Likewise.
310         * error.c: Include diagnostic.h and diagnostic-color.h.
311         (gfc_diagnostic_build_prefix): New.
312         (gfc_diagnostic_starter): New.
313         (gfc_diagnostic_finalizer): New.
314         (gfc_warning_cmdline): New.
315         (gfc_diagnostics_init): New.
316         * gfc-diagnostic.def: New.
317         * options.c (gfc_init_options): Call gfc_diagnostics_init.
318         (gfc_post_options): Use gfc_warning_cmdline.
320 2014-08-15  Jakub Jelinek  <jakub@redhat.com>
321             Tobias Burnus  <burnus@net-b.de>
323         PR fortran/62131
324         * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
325         is allocatable, rather than whenever var->attr.allocatable.
327 2014-08-15  Jakub Jelinek  <jakub@redhat.com>
329         PR fortran/62107
330         * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
331         or allocatable passed by reference.
332         (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.
334 2014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
336         PR fortran/62106
337         * gfortran.h (symbol_attribute):  Add fe_temp flag.
338         * frontend-passes.c (is_fe_temp):  New function.
339         (create_var):  Don't add a temporary for an already
340         created variable or for a constant.
341         (combine_ARRAY_constructor):  Remove special handling
342         for constants.
344 2014-08-14  Tobias Burnus  <burnus@net-b.de>
346         * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
347         (_gfortran_caf_register): Update for locking/critical.
348         (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
349         * resolve.c (resolve_critical): New.
350         (gfc_resolve_code): Call it.
351         * trans-decl.c (gfor_fndecl_caf_critical,
352         gfor_fndecl_caf_end_critical): Remove.
353         (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
354         (gfc_build_builtin_function_decls): Remove critical,
355         assign locking declarations.
356         (generate_coarray_sym_init): Handle locking and
357         critical variables.
358         * trans-stmt.c (gfc_trans_critical): Add calls to
359         lock/unlock libcaf functions.
360         * trans.h (gfc_coarray_type): Update locking, add
361         critical enum values.
362         (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
363         (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
365 2014-08-14  Tobias Burnus  <burnus@net-b.de>
367         * gfortran.texi (Coarray Programming): Add first ABI
368         documentation.
370 2014-08-14  Jakub Jelinek  <jakub@redhat.com>
372         PR fortran/62076
373         * openmp.c (gfc_match_omp_clauses): When failed to match
374         operator name, defined op name or name, set buffer to
375         empty string.  Don't call gfc_find_omp_udr if buffer is empty
376         string.
377         (gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
378         before calling gfc_free_omp_udr.
380 2014-08-11  Richard Biener  <rguenther@suse.de>
382         PR fortran/61950
383         * trans-expr.c (gfc_conv_structure): Initialize _size with
384         a value of proper type.
386 2014-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
388         PR fortran/61999
389         * simplify.c (gfc_simplify_dot_product): Convert types of
390         vectors before calculating the result.
392 2014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
394         * openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
396 2014-07-26  Tobias Burnus  <burnus@net-b.de>
398         PR fortran/61881
399         PR fortran/61888
400         PR fortran/57305
401         * intrinsic.texi (SIZEOF): Document changed behavior
402         for polymorphic arrays.
404 2014-07-26  Tobias Burnus  <burnus@net-b.de>
406         PR fortran/61881
407         PR fortran/61888
408         PR fortran/57305
409         * check.c (gfc_check_sizeof): Permit for assumed type if and
410         only if it has an array descriptor.
411         * intrinsic.c (do_ts29113_check): Permit SIZEOF.
412         (add_functions): SIZEOF is an Inquiry function.
413         * intrinsic.texi (SIZEOF): Add note that only contiguous
414         arrays are permitted.
415         * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
416         rank.
417         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
418         assumed type + array descriptor, CLASS and assumed rank.
419         (gfc_conv_intrinsic_storage_size): Handle class arrays.
421 2014-07-25  Tobias Burnus  <burnus@net-b.de>
423         * simplify.c (gfc_simplify_storage_size): Use proper
424         integer kind for the returned value.
426 2014-07-24  Uros Bizjak  <ubizjak@gmail.com>
428         * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
429         correct menu position to match sectioning.
431 2014-06-15  Tobias Burnus  <burnus@net-b.de>
433         * symbol.c (check_conflict): Add codimension conflict with
434         pointer; fix cray-pointee check.
436 2014-06-14  Tobias Burnus  <burnus@net-b.de>
438         * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
439         for kind mismatch with -fcoarray=lib.
441 2014-07-12  Paul Thomas  <pault@gcc.gnu.org>
443         PR fortran/61780
444         * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
445         that elements are skipped. This then correctly aligns 'reverse'
446         with the scalarizer loops.
448 2014-07-12  Tobias Burnus  <burnus@net-b.de>
450         PR fortran/61628
451         * trans-types.c (gfc_init_types): Fix data-type bug
452         with gfc_max_array_element_size.
454 2014-07-12  Tobias Burnus  <burnus@net-b.de>
456         * libgfortran.h (libcaf_atomic_codes): Add.
457         * trans-decl.c (gfor_fndecl_caf_atomic_def,
458         gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
459         gfor_fndecl_caf_atomic_op): New variables.
460         (gfc_build_builtin_function_decls): Initialize them.
461         * trans.h (gfor_fndecl_caf_atomic_def,
462         gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
463         gfor_fndecl_caf_atomic_op): New variables.
464         * trans-intrinsic.c (conv_intrinsic_atomic_op,
465         conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
466         Add library calls with -fcoarray=lib.
468 2014-07-12  Tobias Burnus  <burnus@net-b.de>
470         * check.c (gfc_check_atomic): Update for STAT=.
471         (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
472         (gfc_check_atomic_op, gfc_check_atomic_cas,
473         gfc_check_atomic_fetch_op): New.
474         * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
475         GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
476         GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
477         GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
478         * intrinsic.c (add_subroutines): Handle them.
479         * intrinsic.texi: Add documentation for them.
480         (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
481         (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
482         * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
483         gfc_check_atomic_fetch_op): New
484         prototypes.
485         * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
486         * iso-fortran-env.def: Add it.
487         * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
488         conv_intrinsic_atomic_ref; handle more atomics.
489         (conv_intrinsic_atomic_def): Handle STAT=.
490         (conv_intrinsic_atomic_cas): New.
491         (gfc_conv_intrinsic_subroutine): Handle new atomics.
493 2014-07-09  Bernd Schmidt  <bernds@codesourcery.com>
495         * trans-array.c (gfc_build_constant_array_constructor): Build a
496         static decl manually.
497         * trans-decl.c (create_main_function): Likewise.
499 2014-07-07  Paul Thomas  <pault@gcc.gnu.org>
501         PR fortran/61459
502         PR fortran/58883
503         * trans-expr.c (fcncall_realloc_result): Use the natural type
504         for the address expression of 'res_desc'.
506 2014-07-07  Gerald Pfeifer  <gerald@pfeifer.com>
508         * gfortran.texi (Fortran 2003 status): Fix grammar.
510 2014-07-04  Tobias Burnus  <burnus@net-b.de>
512         * resolve.c (resolve_assoc_var): Fix corank setting.
513         * trans-array.c (gfc_conv_descriptor_token): Change assert.
514         for select-type temporaries.
515         * trans-decl.c (generate_coarray_sym_init): Skip for
516         attr.select_type_temporary.
517         * trans-expr.c (gfc_conv_procedure_call): Fix for
518         select-type temporaries.
519         * trans-intrinsic.c (get_caf_token_offset): Ditto.
520         (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
521         the correct dtype.
522         * trans-types.h (gfc_get_dtype_rank_type): New.
523         * trans-types.c (gfc_get_dtype_rank_type): Ditto.
525 2014-07-03  Tobias Burnus  <burnus@net-b.de>
527         * scanner.c (skip_free_comments): Fix indentation.
529 2014-07-02  Jakub Jelinek  <jakub@redhat.com>
530             Fritz Reese  <Reese-Fritz@zai.com>
532         * decl.c (variable_decl): Reject old style initialization
533         for derived type components.
535 2014-06-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
537         PR fortran/36275
538         PR fortran/38839
539         * decl.c (check_bind_name_identifier): New function.
540         (gfc_match_bind_c): Match any constant expression as binding
541         label.
542         * match.c (gfc_match_name_C): Remove.
544 2014-06-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
546         PR fortran/29383
547         * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
548         * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
549         both C and Fortran.
550         * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
551         * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
552         * module.c (mio_symbol): Keep track of symbols which came from
553         intrinsic modules.
554         (gfc_use_module): Keep track of the IEEE modules.
555         * trans-decl.c (gfc_get_symbol_decl): Adjust code since
556         we have new intrinsic modules.
557         (gfc_build_builtin_function_decls): Build decls for
558         ieee_procedure_entry and ieee_procedure_exit.
559         (is_from_ieee_module, is_ieee_module_used, save_fp_state,
560         restore_fp_state): New functions.
561         (gfc_generate_function_code): Save and restore floating-point
562         state on procedure entry/exit, when IEEE modules are used.
563         * intrinsic.texi: Document the IEEE modules.
565 2014-06-25  Tobias Burnus  <burnus@net-b.de>
567         * interface.c (check_intents): Fix diagnostic with
568         coindexed coarrays.
570 2014-06-25  Tobias Burnus  <burnus@net-b.de>
572         * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
573         when assigning a coindexed RHS scalar to a noncoindexed LHS
574         array.
575         * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
576         for a noncoindexed scalar RHS.
578 2014-06-25  Tobias Burnus  <burnus@net-b.de>
580         * check.c (check_co_minmaxsum): Add definable check.
581         * expr.c (gfc_check_vardef_context): Fix context == NULL case.
582         * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
583         arguments.
584         * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
585         temporary strings.
587 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
589         * trans.h (gfc_omp_clause_linear_ctor): New prototype.
590         * trans-openmp.c (gfc_omp_linear_clause_add_loop,
591         gfc_omp_clause_linear_ctor): New functions.
592         (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
593         correct type.  Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
594         * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
596 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
598         * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
599         of n->udr.
600         * f95-lang.c (gfc_init_builtin_functions): Initialize
601         BUILT_IN_ASSUME_ALIGNED.
602         * gfortran.h (gfc_omp_namelist): Change udr field type to
603         struct gfc_omp_namelist_udr.
604         (gfc_omp_namelist_udr): New type.
605         (gfc_get_omp_namelist_udr): Define.
606         (gfc_resolve_code): New prototype.
607         * match.c (gfc_free_omp_namelist): Free name->udr.
608         * module.c (intrinsics): Add INTRINSIC_USER.
609         (fix_mio_expr): Likewise.
610         (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
611         * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
612         (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
613         Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
614         (struct resolve_omp_udr_callback_data): New type.
615         (resolve_omp_udr_callback, resolve_omp_udr_callback2,
616         resolve_omp_udr_clause): New functions.
617         (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
618         here.
619         (omp_udr_callback): Don't check for implicitly declared functions
620         here.
621         (gfc_resolve_omp_udr): Don't call gfc_resolve.  Don't check for
622         implicitly declared subroutines here.
623         * resolve.c (resolve_function): If value.function.isym is non-NULL,
624         consider it already resolved.
625         (resolve_code): Renamed to ...
626         (gfc_resolve_code): ... this.  No longer static.
627         (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
628         Adjust callers.
629         * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
630         by reference type (C_PTR) variables.
631         (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
632         (gfc_trans_omp_udr_expr): Remove.
633         (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
634         Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
635         expand it as assignment or subroutine call.  Don't initialize
636         value.function.isym.
638 2014-06-23  Tobias Burnus  <burnus@net-b.de>
640         * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
641         explicit-size arrays with -fcoarray=lib.
643 2014-06-20  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
645         PR fortran/33363
646         * invoke.texi: Don't mention nonexisting -fcase-lower option.
648 2014-06-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
650         PR fortran/61454
651         * expr.c (scalarize_intrinsic_call): Take care of optional
652         arguments.
654 2014-06-19  Tobias Burnus  <burnus@net-b.de>
656         * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
657         passing.
659 2014-06-18  Tobias Burnus  <burnus@net-b.de>
661         * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
662         * intrinsic.texi (OpenMP Modules): Ditto.
664 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
666         * cpp.c (cpp_define_builtins): Change _OPENMP macro to
667         201307.
668         * dump-parse-tree.c (show_omp_namelist): Add list_type
669         argument.  Adjust for rop being u.reduction_op now,
670         handle depend_op or map_op.
671         (show_omp_node): Adjust callers.  Print some new
672         OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
673         becoming a single OMP_LIST_DEPEND.
674         * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
675         function.
676         (gfc_attribute_table): New variable.
677         (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
678         * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
679         EXEC_OMP_* codes and new clauses.
680         * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
681         ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
682         ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
683         ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
684         ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
685         ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
686         ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
687         ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
688         ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
689         ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
690         ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
691         ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
692         ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
693         ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
694         ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
695         ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
696         ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
697         ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
698         ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
699         ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
700         ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
701         (symbol_attribute): Add omp_declare_target field.
702         (gfc_omp_depend_op, gfc_omp_map_op): New enums.
703         (gfc_omp_namelist): Replace rop field with union
704         containing reduction_op, depend_op and map_op.
705         (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
706         (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
707         (gfc_omp_clauses): Add num_teams, device, thread_limit,
708         dist_sched_kind, dist_chunk_size fields.
709         (gfc_common_head): Add omp_declare_target field.
710         (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
711         EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
712         EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
713         EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
714         EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
715         EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
716         EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
717         EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
718         EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
719         EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
720         EXEC_OMP_TARGET_UPDATE.
721         (gfc_add_omp_declare_target): New prototype.
722         * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
723         gfc_match_omp_distribute_parallel_do,
724         gfc_match_omp_distribute_parallel_do_simd,
725         gfc_match_omp_distribute_simd, gfc_match_omp_target,
726         gfc_match_omp_target_data, gfc_match_omp_target_teams,
727         gfc_match_omp_target_teams_distribute,
728         gfc_match_omp_target_teams_distribute_parallel_do,
729         gfc_match_omp_target_teams_distribute_parallel_do_simd,
730         gfc_match_omp_target_teams_distribute_simd,
731         gfc_match_omp_target_update, gfc_match_omp_teams,
732         gfc_match_omp_teams_distribute,
733         gfc_match_omp_teams_distribute_parallel_do,
734         gfc_match_omp_teams_distribute_parallel_do_simd,
735         gfc_match_omp_teams_distribute_simd): New prototypes.
736         * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
737         (attr_bits): Likewise.
738         (mio_symbol_attribute): Handle omp_declare_target attribute.
739         (gfc_free_omp_clauses): Free num_teams, device, thread_limit
740         and dist_chunk_size expressions.
741         (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
742         OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
743         OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
744         OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
745         OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
746         OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
747         OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
748         OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
749         OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
750         (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
751         OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
752         OMP_CLAUSE_DIST_SCHEDULE): Define.
753         (gfc_match_omp_clauses): Change mask parameter to unsigned int.
754         Adjust for rop becoming u.reduction_op.  Disallow inbranch with
755         notinbranch.  For depend clause, always create OMP_LIST_DEPEND
756         and fill in u.depend_op.  Handle num_teams, device, map,
757         to, from, thread_limit and dist_schedule clauses.
758         (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
759         OMP_CLAUSE_NOTINBRANCH.
760         (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
761         OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
762         OMP_DISTRIBUTE_CLAUSES): Define.
763         (match_omp): New function.
764         (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
765         gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
766         gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
767         gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
768         gfc_match_omp_task): Rewritten using match_omp.
769         (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
770         Diagnose if the directives are followed by unexpected junk.
771         (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
772         gfc_match_omp_distribute_parallel_do_simd,
773         gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
774         gfc_match_omp_target, gfc_match_omp_target_data,
775         gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
776         gfc_match_omp_target_teams_distribute_parallel_do,
777         gfc_match_omp_target_teams_distribute_parallel_do_simd,
778         gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
779         gfc_match_omp_teams, gfc_match_omp_teams_distribute,
780         gfc_match_omp_teams_distribute_parallel_do,
781         gfc_match_omp_teams_distribute_parallel_do_simd,
782         gfc_match_omp_teams_distrbute_simd): New functions.
783         * openmp.c (resolve_omp_clauses): Adjust for
784         OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND.  Handle
785         OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
786         dist_chunk_size and thread_limit.
787         (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
788         ctx.sharing_clauses.  Call gfc_resolve_omp_do_blocks for various
789         new EXEC_OMP_* codes.
790         (resolve_omp_do): Handle various new EXEC_OMP_* codes.
791         (gfc_resolve_omp_directive): Likewise.
792         (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
793         * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
794         offloading related directives.
795         (case_executable): Add ST_OMP_TARGET_UPDATE.
796         (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
797         ST_OMP_DISTRIBUTE*.
798         (case_decl): Add ST_OMP_DECLARE_TARGET.
799         (gfc_ascii_statement): Handle new ST_OMP_* codes.
800         (parse_omp_do): Handle various new ST_OMP_* codes.
801         (parse_executable): Likewise.
802         * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
803         codes.
804         (resolve_code): Likewise.
805         (resolve_symbol): Change that !$OMP DECLARE TARGET variables
806         are saved.
807         * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
808         * symbol.c (check_conflict): Check omp_declare_target conflicts.
809         (gfc_add_omp_declare_target): New function.
810         (gfc_copy_attr): Copy omp_declare_target.
811         * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
812         * trans-common.c (build_common_decl): Add "omp declare target"
813         attribute if needed.
814         * trans-decl.c (add_attributes_to_decl): Likewise.
815         * trans.h (gfc_omp_finish_clause): New prototype.
816         * trans-openmp.c (gfc_omp_finish_clause): New function.
817         (gfc_trans_omp_reduction_list): Adjust for rop being renamed
818         to u.reduction_op.
819         (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
820         change to OMP_LIST_DEPEND and fix up depend handling.
821         Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
822         thread_limit, device, dist_chunk_size and dist_sched_kind.
823         (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
824         (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
825         GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
826         GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
827         (gfc_split_omp_clauses): Handle splitting of clauses for new
828         EXEC_OMP_* codes.
829         (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
830         callable for combined constructs.
831         (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
832         (gfc_trans_omp_distribute, gfc_trans_omp_teams,
833         gfc_trans_omp_target, gfc_trans_omp_target_data,
834         gfc_trans_omp_target_update): New functions.
835         (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
836         new EXEC_OMP_* codes.
838 2014-06-18  Tobias Burnus  <burnus@net-b.de>
840         PR fortran/61126
841         * invoke.texi (-Wunused-parameter): Make clearer when
842         -Wextra implies this option.
844 2014-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
846         PR fortran/61126
847         * options.c (gfc_handle_option): Remove call to
848         handle_generated_option.
850 2014-06-17  Tobias Burnus  <burnus@net-b.de>
852         * check.c (gfc_check_atomic, gfc_check_atomic_def):
853         Use argument for GFC_ISYM_CAF_GET.
854         * resolve.c (resolve_variable): Enable CAF_GET insertion.
855         (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
856         (resolve_ordinary_assign): Enable CAF_SEND insertion.
857         * trans-const.c (gfc_build_string_const,
858         gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
859         * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
860         gfor_fndecl_caf_sendget): New global variables.
861         (gfc_build_builtin_function_decls): Initialize them;
862         update co_min/max/sum initialization.
863         * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
864         get_tree_for_caf_expr and removed static.
865         (gfc_conv_procedure_call): Update call.
866         * trans-intrinsic.c (caf_get_image_index,
867         conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
868         get_caf_token_offset, gfc_conv_intrinsic_caf_get,
869         conv_caf_send): New.
870         (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
871         gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
872         (conv_co_minmaxsum): Update call for remove unused vector
873         subscript.
874         (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
875         Skip a CAF_GET of the argument.
876         * trans-types.c (gfc_get_caf_vector_type): New.
877         * trans-types.h (gfc_get_caf_vector_type): New.
878         * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
879         gfor_fndecl_caf_sendget): New global variables.
880         (gfc_get_tree_for_caf_expr): New prototypes.
882 2014-06-15  Jan Hubicka  <hubicka@ucw.cz>
884         * trans-common.c (build_common_decl): Use
885         set_decl_tls_model.
886         * trans-decl.c (gfc_finish_var_decl): Likewise.
887         (get_proc_pointer_decl): Likewise.
889 2014-06-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
891         PR fortran/28484
892         PR fortran/61429
893         * check.c (gfc_check_system_clock): Improve checking of arguments.
894         * intrinsic.texi: Update doc of SYSTEM_CLOCK.
895         * iresolve.c (gfc_resolve_system_clock): Choose library function
896         used depending on argument kinds.
897         * trans-decl.c (gfc_build_intrinsic_function_decls): Build
898         decls for system_clock_4 and system_clock_8.
899         * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
900         (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
901         * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
902         New variables.
904 2014-06-12  Tobias Burnus  <burnus@net-b.de>
906         * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
907         * symbol.c (gfc_copy_formal_args_intr): Handle the case
908         that absent optional arguments should be ignored.
909         * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
910         (gfc_conv_intrinsic_funcall,
911         conv_generic_with_optional_char_arg): Update call.
912         * resolve.c (gfc_resolve_intrinsic): Ditto.
914 2014-06-10  Dominique d'Humieres <dominiq@lps.ens.fr>
915             Mikael Morin <mikael@gcc.gnu.org>
917         PR fortran/41936
918         * trans-expr.c (gfc_conv_expr_reference): Deallocate array
919         components.
921 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
923         PR fortran/60928
924         * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
925         like -fopenmp.
926         * openmp.c (resolve_omp_clauses): Remove allocatable components
927         diagnostics.  Add associate-name and intent(in) pointer
928         diagnostics for various clauses, diagnose procedure pointers in
929         reduction clause.
930         * parse.c (match_word_omp_simd): New function.
931         (matchs, matcho): New macros.
932         (decode_omp_directive): Change match macros to either matchs
933         or matcho.  Handle -fopenmp-simd.
934         (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
935         * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
936         Likewise.
937         * trans-array.c (get_full_array_size): Rename to...
938         (gfc_full_array_size): ... this.  No longer static.
939         (duplicate_allocatable): Adjust caller.  Add NO_MEMCPY argument
940         and handle it.
941         (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
942         duplicate_allocatable callers.
943         (gfc_duplicate_allocatable_nocopy): New function.
944         (structure_alloc_comps): Adjust g*_full_array_size and
945         duplicate_allocatable caller.
946         * trans-array.h (gfc_full_array_size,
947         gfc_duplicate_allocatable_nocopy): New prototypes.
948         * trans-common.c (create_common): Call gfc_finish_decl_attrs.
949         * trans-decl.c (gfc_finish_decl_attrs): New function.
950         (gfc_finish_var_decl, create_function_arglist,
951         gfc_get_fake_result_decl): Call it.
952         (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
953         don't allocate it again.
954         (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
955         associate-names.
956         * trans.h (gfc_finish_decl_attrs): New prototype.
957         (struct lang_decl): Add scalar_allocatable and scalar_pointer
958         bitfields.
959         (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
960         GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
961         GFC_DECL_ASSOCIATE_VAR_P): Define.
962         (GFC_POINTER_TYPE_P): Remove.
963         * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
964         GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
965         GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
966         (gfc_omp_predetermined_sharing): Associate-names are predetermined.
967         (enum walk_alloc_comps): New.
968         (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
969         gfc_walk_alloc_comps): New functions.
970         (gfc_omp_private_outer_ref): Return true for scalar allocatables or
971         decls with allocatable components.
972         (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
973         gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
974         allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
975         allocatables and decls with allocatable components.
976         (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
977         arrays here.
978         (gfc_trans_omp_reduction_list): Call
979         gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
980         (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
981         (gfc_trans_omp_parallel_do_simd): Likewise.
982         * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
983         (gfc_get_derived_type): Call gfc_finish_decl_attrs.
985 2014-06-09  Paul Thomas  <pault@gcc.gnu.org>
987         PR fortran/61406
988         * trans-stmt.c (trans_associate_var): Check that array
989         constructors are constant for direct reference.
991 2014-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
993         PR fortran/36096
994         * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
995         BESSEL_Y0, and BESSEL_Y1.
997 2014-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
999         PR fortran/45187
1000         * trans-decl.c (gfc_create_module_variable): Don't create
1001         Cray-pointee decls twice.
1003 2014-06-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1005         * io.c (resolve_tag): Warn on non-default kind for NUMBER,
1006         NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
1008 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
1010         * dump-parse-tree.c (show_omp_namelist): Dump reduction
1011         id in each list item.
1012         (show_omp_node): Only handle OMP_LIST_REDUCTION, not
1013         OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST.  Don't
1014         dump reduction id here.
1015         * frontend-passes.c (dummy_code_callback): Renamed to...
1016         (gfc_dummy_code_callback): ... this.  No longer static.
1017         (optimize_reduction): Use gfc_dummy_code_callback instead of
1018         dummy_code_callback.
1019         * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
1020         (symbol_attribute): Add omp_udr_artificial_var bitfield.
1021         (gfc_omp_reduction_op): New enum.
1022         (gfc_omp_namelist): Add rop and udr fields.
1023         (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
1024         OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
1025         OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
1026         OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
1027         (OMP_LIST_REDUCTION): New.
1028         (gfc_omp_udr): New type.
1029         (gfc_get_omp_udr): Define.
1030         (gfc_symtree): Add n.omp_udr field.
1031         (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
1032         (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
1033         gfc_dummy_code_callback): New prototypes.
1034         * match.h (gfc_match_omp_declare_reduction): New prototype.
1035         * module.c (MOD_VERSION): Increase to 13.
1036         (omp_declare_reduction_stmt): New array.
1037         (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
1038         New functions.
1039         (read_module): Read OpenMP user defined reductions.
1040         (write_module): Write OpenMP user defined reductions.
1041         * openmp.c: Include arith.h.
1042         (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
1043         (gfc_match_omp_clauses): Handle user defined reductions.
1044         Store reduction kind into gfc_omp_namelist instead of using
1045         several OMP_LIST_* entries.
1046         (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
1047         gfc_match_omp_declare_reduction): New functions.
1048         (resolve_omp_clauses): Adjust for reduction clauses being only
1049         in OMP_LIST_REDUCTION list.  Diagnose missing UDRs.
1050         (struct omp_udr_callback_data): New type.
1051         (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
1052         functions.
1053         * parse.c (decode_omp_directive): Handle !$omp declare reduction.
1054         (case_decl): Add ST_OMP_DECLARE_REDUCTION.
1055         (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
1056         * resolve.c (resolve_fl_variable): Allow len=: or len=* on
1057         sym->attr.omp_udr_artificial_var symbols.
1058         (resolve_types): Call gfc_resolve_omp_udrs.
1059         * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
1060         use parent ns instead of gfc_current_ns.
1061         (gfc_get_sym_tree): Don't insert symbols into
1062         namespaces with omp_udr_ns set.
1063         (free_omp_udr_tree): New function.
1064         (gfc_free_namespace): Call it.
1065         * trans-openmp.c (struct omp_udr_find_orig_data): New type.
1066         (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
1067         (gfc_trans_omp_array_reduction): Renamed to...
1068         (gfc_trans_omp_array_reduction_or_udr): ... this.  Remove SYM
1069         argument, instead pass gfc_omp_namelist pointer N.  Handle
1070         user defined reductions.
1071         (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
1072         Handle user defined reductions and reduction ops in gfc_omp_namelist.
1073         (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
1074         list.
1075         (gfc_split_omp_clauses): Likewise.
1077 2014-06-05  Richard Biener  <rguenther@suse.de>
1079         PR fortran/61418
1080         * gfortranspec.c (spec_file): Remove.
1081         (find_spec_file): Likewise.
1082         (lang_specific_driver): Do not look for specs file in -L
1083         or append -specs command line argument.
1084         (lang_specific_pre_link): Always %:include libgfortran.spec.
1086 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
1088         * fortran/trans.c (trans_runtime_error_vararg): Call
1089         fold_build_call_array_loc instead of fold_builtin_call_array.
1091 2014-06-02  Bernd Schmidt  <bernds@codesourcery.com>
1093         * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
1094         arguments to caf_init.
1096 2014-05-26  Tobias Burnus  <burnus@net-b.de>
1098         * gfortran.texi (Project Status): Fix broken link.
1100 2014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
1102         PR libfortran/61310
1103         * intrinsics.texi (CTIME): Remove mention of locale-dependent
1104         behavior.
1106 2014-05-26  Tobias Burnus  <burnus@net-b.de>
1108         PR fortran/55117
1109         * trans-io.c (nml_full_name, transfer_namelist_element): Insert
1110         a '+' rather then '%' to differentiate namelist variable names
1111         that are based on extended derived types.
1113 2014-05-25  Tobias Burnus  <burnus@net-b.de>
1115         * check.c (gfc_check_num_images): New.
1116         (gfc_check_this_image): Handle distance argument.
1117         * intrinsic.c (add_functions): Update this_image and num_images
1118         for new distance and failed arguments.
1119         * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
1120         arguments.
1121         * intrinsic.h (gfc_check_num_images): New.
1122         (gfc_check_this_image, gfc_simplify_num_images,
1123         gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
1124         * iresolve.c (gfc_resolve_this_image): Handle distance argument.
1125         * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
1126         Handle new arguments.
1127         * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
1128         (gfc_conv_intrinsic_function): Update trans_num_images call.
1130 2014-05-23  Tobias Burnus  <burnus@net-b.de>
1132         * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
1133         * gfortran.texi: Ditto.
1135 2014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
1137         * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1138         (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1139         (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1140         * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1142 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
1144         * f95-lang.c (pushlevel): Adjust.
1145         * trans-decl.c (gfc_allocate_lang_decl): Adjust.
1146         (gfc_find_module): Likewise.
1147         * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1148         (gfc_get_array_type_bounds): Likewise.
1149         (gfc_nonrestricted_type): Likewise.
1150         * trans.h: Don't use variable_size gty attribute.
1152 2014-05-17  Dominique d'Humieres <dominiq@lps.ens.fr>
1154         * check.c (gfc_check_fn_rc2008): move "argument" to the right
1155         place.
1157 2014-05-12  Tobias Burnus  <burnus@net-b.de>
1159         PR fortran/60127
1160         * openmp.c (resolve_omp_do): Reject do concurrent loops.
1162 2014-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
1164         PR fortran/60834
1165         * frontend-passes.c (in_assoc_list):  New variable.
1166         (optimize_namespace):  Initialize in_assoc_list
1167         (combine_array_constructor): Don't try to combine
1168         assoc lists.
1169         (gfc_code_walker):  Keep track of in_assoc_list.
1171 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
1173         * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
1174         ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1175         ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1176         ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1177         ST_OMP_DECLARE_SIMD.
1178         (gfc_omp_namelist): New typedef.
1179         (gfc_get_omp_namelist): Define.
1180         (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
1181         OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
1182         (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
1183         (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
1184         Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
1185         simdlen_expr fields.
1186         (gfc_omp_declare_simd): New typedef.
1187         (gfc_get_omp_declare_simd): Define.
1188         (gfc_namespace): Add omp_declare_simd field.
1189         (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1190         EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
1191         EXEC_OMP_PARALLEL_DO_SIMD.
1192         (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
1193         and GFC_OMP_ATOMIC_SWAP.
1194         (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
1195         (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
1196         gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
1197         prototypes.
1198         * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
1199         * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
1200         * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
1201         simdlen_expr.  Use gfc_free_omp_namelist instead of
1202         gfc_free_namelist.
1203         (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
1204         functions.
1205         (gfc_match_omp_variable_list): Add end_colon, headp and
1206         allow_sections arguments.  Handle parsing of array sections.
1207         Use *omp_namelist* instead of *namelist* data structure and
1208         functions/macros.  Allow termination at : character.
1209         (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
1210         OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
1211         OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
1212         (gfc_match_omp_clauses): Change first and needs_space variables
1213         into arguments with default values.  Parse inbranch, notinbranch,
1214         proc_bind, safelen, simdlen, uniform, linear, aligned and
1215         depend clauses.
1216         (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
1217         (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
1218         (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
1219         (gfc_match_omp_do_simd): New function.
1220         (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
1221         data structure and functions/macros.
1222         (gfc_match_omp_simd, gfc_match_omp_declare_simd,
1223         gfc_match_omp_parallel_do_simd): New functions.
1224         (gfc_match_omp_atomic): Handle seq_cst clause.  Handle atomic swap.
1225         (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
1226         gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
1227         functions.
1228         (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
1229         Use *omp_namelist* instead of *namelist* data structure and
1230         functions/macros.  Resolve uniform, aligned, linear, depend,
1231         safelen and simdlen clauses.
1232         (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
1233         addition, recognize atomic swap.
1234         (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
1235         of gfc_namelist.  Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
1236         EXEC_OMP_PARALLEL_DO.
1237         (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
1238         data structure and functions/macros.
1239         (resolve_omp_do): Likewise.  Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1240         EXEC_OMP_PARALLEL_DO_SIMD.
1241         (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1242         EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL.  Adjust
1243         resolve_omp_clauses caller.
1244         (gfc_resolve_omp_declare_simd): New function.
1245         * parse.c (decode_omp_directive): Parse cancellation point, cancel,
1246         declare simd, end do simd, end simd, end parallel do simd,
1247         end taskgroup, parallel do simd, simd and taskgroup directives.
1248         (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
1249         (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
1250         ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
1251         (case_decl): Add ST_OMP_DECLARE_SIMD.
1252         (gfc_ascii_statement): Handle ST_OMP_CANCEL,
1253         ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1254         ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1255         ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1256         ST_OMP_DECLARE_SIMD.
1257         (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
1258         ST_OMP_PARALLEL_DO_SIMD.
1259         (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
1260         (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
1261         ST_OMP_PARALLEL_DO_SIMD.
1262         (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
1263         ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
1264         * trans-decl.c (gfc_get_extern_function_decl,
1265         gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
1266         needed.
1267         * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
1268         EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD.  Walk
1269         safelen_expr and simdlen_expr.  Walk expressions in gfc_omp_namelist
1270         of depend, aligned and linear clauses.
1271         * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
1272         and EXEC_OMP_PARALLEL_DO_SIMD.
1273         (gfc_free_omp_namelist): New function.
1274         * dump-parse-tree.c (show_namelist): Removed.
1275         (show_omp_namelist): New function.
1276         (show_omp_node): Handle OpenMP 4.0 additions.
1277         (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1278         EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
1279         EXEC_OMP_TASKGROUP.
1280         * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
1281         gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
1282         gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
1283         gfc_match_omp_taskgroup): New prototypes.
1284         * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
1285         argument, handle it.  Allow current_function_decl to be NULL.
1286         (gfc_trans_omp_variable_list): Add declare_simd argument, pass
1287         it through to gfc_trans_omp_variable and disregard whether
1288         sym is referenced if declare_simd is true.  Work on gfc_omp_namelist
1289         instead of gfc_namelist.
1290         (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
1291         gfc_namelist.  Adjust gfc_trans_omp_variable caller.
1292         (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
1293         to gfc_trans_omp_variable{,_list} callers.  Work on gfc_omp_namelist
1294         instead of gfc_namelist.  Handle inbranch, notinbranch, safelen,
1295         simdlen, depend, uniform, linear, proc_bind and aligned clauses.
1296         Handle cancel kind.
1297         (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
1298         adjust for GFC_OMP_ATOMIC_* changes.
1299         (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
1300         functions.
1301         (gfc_trans_omp_do): Add op argument, handle simd translation into
1302         generic.
1303         (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
1304         GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
1305         GFC_OMP_MASK_PARALLEL): New.
1306         (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
1307         (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
1308         (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
1309         functions.
1310         (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
1311         EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1312         EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1313         Adjust gfc_trans_omp_do caller.
1314         (gfc_trans_omp_declare_simd): New function.
1315         * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
1316         EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1317         EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1318         For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
1319         gfc_free_namelist.
1320         * module.c (omp_declare_simd_clauses): New variable.
1321         (mio_omp_declare_simd): New function.
1322         (mio_symbol): Call it.
1323         * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
1324         EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1325         EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1326         * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
1327         EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1328         (resolve_code): Handle EXEC_OMP_CANCEL,
1329         EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
1330         EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
1331         (resolve_types): Call gfc_resolve_omp_declare_simd.
1333 2014-05-11  Tobias Burnus  <burnus@net-b.de>
1335         * trans-intrinsic.c (gfc_build_builtin_function_decls):
1336         Change type of second argument to int.
1338 2014-05-09  Mike Stump  <mikestump@comcast.net>
1340         PR fortran/61109
1341         * trans-array.c (gfc_conv_array_initializer): Fix wide-int
1342         conversion bug.
1344 2014-05-08  Tobias Burnus  <burnus@net-b.de>
1346         * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
1347         and GFC_ISYM_CAF_SEND.
1348         * intrinsic.c (add_functions): Add only internally
1349         accessible caf_get and caf_send functions.
1350         * resolve.c (add_caf_get_intrinsic,
1351         remove_caf_get_intrinsic): New functions.
1352         (resolve_variable): Resolve expression rank and
1353         prepare for add_caf_get_intrinsic call.
1354         (gfc_resolve_expr): For variables, remove rank
1355         resolution.
1356         (resolve_ordinary_assign): Prepare call to
1357         GFC_ISYM_CAF_SEND.
1358         (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
1359         the LHS of an assignment.
1361 2014-05-08  Tobias Burnus  <burnus@net-b.de>
1363         * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
1365 2014-05-08  Tobias Burnus  <burnus@net-b.de>
1367         * check.c (check_co_minmaxsum, gfc_check_co_minmax,
1368         gfc_check_co_sum): New.
1369         * error.c (gfc_notify_std): Update -std=f2008ts.
1370         * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
1371         GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
1372         * intrinsic.h (gfc_check_co_minmax,
1373         gfc_check_co_sum): Declare.
1374         * intrinsic.c (add_subroutines): Add co_min, co_max
1375         and co_sum.
1376         (gfc_check_intrinsic_standard): Update text for
1377         -std=f2008ts.
1378         * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
1379         them.
1380         * invoke.texi (-std=f2008ts): Update wording.
1381         * trans.h (gfor_fndecl_co_max,
1382         gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1383         * trans-decl.c (gfor_fndecl_co_max,
1384         gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
1385         (gfc_build_builtin_function_decls): Assign to it.
1386         * trans-intrinsic.c (conv_co_minmaxsum): New.
1387         (gfc_conv_intrinsic_subroutine): Call it.
1389 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
1390             Mike Stump  <mikestump@comcast.net>
1391             Richard Sandiford  <rdsandiford@googlemail.com>
1393         * target-memory.c: Include wide-int.h.
1394         (gfc_interpret_logical): Use wide-int interfaces.
1395         * trans-array.c: Include wide-int.h.
1396         (gfc_conv_array_initializer): Use wide-int interfaces.
1397         * trans-const.c: Include wide-int.h.
1398         (gfc_conv_string_init): Use wide-int interfaces.
1399         (gfc_conv_mpz_to_tree): Likewise.
1400         (gfc_conv_tree_to_mpz): Likewise.
1401         * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
1402         * trans-expr.c: Include wide-int.h.
1403         (gfc_conv_cst_int_power): Use wide-int interfaces.
1404         (gfc_string_to_single_character): Likewise.
1405         (gfc_optimize_len_trim): Likewise.
1406         * trans-intrinsic.c: Include wide-int.h.
1407         (trans_this_image): Use wide-int interfaces.
1408         (gfc_conv_intrinsic_bound): Likewise.
1409         (conv_intrinsic_cobound): Likewise.
1410         * trans-types.c (gfc_init_types): Likewise.
1411         (gfc_get_array_type_bounds): Pass an integer of the correct type
1412         instead of using integer_one_node.
1414 2014-04-30  Tobias Burnus  <burnus@net-b.de>
1416         * trans-decl.c (create_function_arglist): Add hidden coarray arguments
1417         also for polymorphic coarrays.
1418         * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
1419         also for polymorphic coarrays.
1421 2014-04-30  Tobias Burnus  <burnus@net-b.de>
1423         * resolve.c (resolve_function): Don't do
1424         assumed-size check for lcobound/ucobound.
1425         * trans-types.c (gfc_build_array_type): Only build an array
1426         descriptor with codimensions for allocatable coarrays.
1428 2014-04-30  Tobias Burnus  <burnus@net-b.de>
1430         * gfortran.h (gfc_init_coarray_decl): Remove.
1431         * parse.c (translate_all_program_units): Remove call to it.
1432         (gfc_parse_file): Update call.
1433         * trans.h (gfor_fndecl_caf_this_image,
1434         gfor_fndecl_caf_num_images): Add.
1435         (gfort_gvar_caf_num_images,
1436         gfort_gvar_caf_this_image): Remove.
1437         * trans-decl.c (gfor_fndecl_caf_this_image,
1438         gfor_fndecl_caf_num_images): Add.
1439         (gfort_gvar_caf_num_images,
1440         gfort_gvar_caf_this_image): Remove.
1441         (gfc_build_builtin_function_decls): Init new decl.
1442         (gfc_init_coarray_dec): Remove.
1443         (create_main_function): Change calls.
1444         * trans-intrinsic.c (trans_this_image, trans_image_index,
1445         conv_intrinsic_cobound): Generate call to new library function
1446         instead of to a static variable.
1447         * trans-stmt.c (gfc_trans_sync): Ditto.
1449 2014-04-30  Tobias Burnus  <burnus@net-b.de>
1451         * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
1452         and derived-type coarrays.
1454 2014-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
1456         PR fortran/59604
1457         PR fortran/58003
1458         * gfortran.h (gfc_convert_mpz_to_signed):  Add prototype.
1459         * arith.c (gfc_int2int):  Convert number to signed if
1460         arithmetic overflow is not checked.
1461         * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
1462         size if range checking is in force.
1463         (convert_mpz_to_signed):  Make non-static, rename to
1464         (gfc_convert_mpz_to_signed).
1465         (simplify_dshift): Use gfc_convert_mpz_to_signed.
1466         (gfc_simplify_ibclr):  Likewise.
1467         (gfc_simplify_ibits):  Likewise.
1468         (gfc_simplify_ibset):  Likewise.
1469         (simplify_shift):  Likewise.
1470         (gfc_simplify_ishiftc):  Likewise.
1471         (gfc_simplify_maskr):  Likewise.
1472         (gfc_simplify_maskl):  Likewise.
1474 2014-04-22  Tobias Burnus  <burnus@net-b.de>
1476         PR fortran/60881
1477         * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
1478         of scalar coarrays.
1480 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
1482         * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
1483         argument is enum machine_mode.
1485 2014-04-13  Paul Thomas  <pault@gcc.gnu.org>
1487         PR fortran/58085
1488         PR fortran/60717
1489         * trans.h: Add 'use_offset' bitfield to gfc_se.
1490         * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
1491         as a trigger to unconditionally recalculate the offset for
1492         array slices and constant arrays.
1493         trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
1494         trans-stmt.c (trans_associate_var): Ditto.
1495         (gfc_conv_procedure_call): Ditto.
1497 2014-04-11  Tobias Burnus  <burnus@net-b.de>
1499         PR fortran/58880
1500         PR fortran/60495
1501         * resolve.c (gfc_resolve_finalizers): Ensure that vtables
1502         and finalization wrappers are generated.
1504 2014-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
1506         * intrinsic.texi (RANDOM_SEED): Improve example.
1508 2014-04-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1510         * class.c (gfc_build_class_symbol): Append "_t" to target class
1511         names to make the generated type names unique.
1513 2014-04-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1515         PR fortran/60191
1516         * trans-types.c (gfc_get_function_type): In case of recursion
1517         build a variadic function type with empty argument list instead of a
1518         stdarg-like function type with incomplete argument list.
1520 2014-04-04  Tobias Burnus  <burnus@net-b.de>
1522         * check.c (gfc_check_cmplx): Fix typo.
1524 2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
1525             Tobias Burnus  <burnus@net-b.de>
1527         PR fortran/60576
1528         * trans-expr.c (gfc_conv_derived_to_class): Avoid
1529         generation of out-of-bounds range expr.
1531 2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
1533         PR fortran/60677
1534         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
1535         list buffer.
1537 2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
1539         PR fortran/60522
1540         * frontend-passes.c (cfe_code):  Do not walk subtrees
1541         for WHERE.
1543 2014-03-27  Tobias Burnus  <burnus@net-b.de>
1545         PR fortran/58880
1546         * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
1547         of nonpointers.
1549 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
1551         PR fortran/34928
1552         * fortran.texi: Document Volatile COMMON as not supported.
1554 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
1556         PR debug/60603
1557         * cpp.c (gfc_cpp_init): Restore cb_change_file call to
1558         <built-in>.
1560 2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1562         PR fortran/60148
1563         * gfortran.texi: Add description of namelist DELIM= behavior.
1565 2014-03-19  Tobias Burnus  <burnus@net-b.>
1567         PR fortran/60543
1568         * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
1569         * resolve.c (resolve_ordinary_assign): Ditto.
1571 2014-03-19  Tobias Burnus  <burnus@net-b.de>
1573         PR fortran/60543
1574         PR fortran/60283
1575         * gfortran.h (gfc_unset_implicit_pure): New prototype.
1576         * resolve.c (gfc_unset_implicit_pure): New.
1577         (resolve_structure_cons, resolve_function,
1578         pure_subroutine): Use it.
1579         * decl.c (match_old_style_init, gfc_match_data,
1580         match_pointer_init, variable_decl): Ditto.
1581         * expr.c (gfc_check_pointer_assign): Ditto.
1582         * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
1583         * io.c (match_vtag, gfc_match_open, gfc_match_close,
1584         match_filepos, gfc_match_inquire, gfc_match_print,
1585         gfc_match_wait): Ditto.
1586         * match.c (gfc_match_critical, gfc_match_stopcode,
1587         lock_unlock_statement, sync_statement, gfc_match_allocate,
1588         gfc_match_deallocate): Ditto.
1589         * parse.c (decode_omp_directive): Ditto.
1590         * symbol.c (gfc_add_save): Ditto.
1592 2014-03-18  Janus Weil  <janus@gcc.gnu.org>
1594         PR fortran/55207
1595         PR fortran/60549
1596         * decl.c (match_attr_spec): Revert r208590.
1598 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
1600         PR ipa/58721
1601         * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
1602         if !optimize.
1604 2014-03-18  Tobias Burnus  <burnus@net-b.de>
1606         PR ipa/58721
1607         * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
1608         (gfc_trans_io_runtime_check): Remove.
1609         * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
1610         as argument, add predictor to block.
1611         (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
1612         gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
1613         * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
1614         (gfc_trans_runtime_check, gfc_allocate_using_malloc,
1615         gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
1616         branch predictor.
1617         * trans-expr.c (gfc_conv_procedure_call): Ditto.
1618         * trans-stmt.c (gfc_trans_allocate): Ditto.
1619         * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
1621 2014-03-15  Janus Weil  <janus@gcc.gnu.org>
1623         PR fortran/55207
1624         * decl.c (match_attr_spec): Variables in the main program implicitly
1625         get the SAVE attribute in Fortran 2008.
1627 2014-03-14  Mikael Morin  <mikael@gcc.gnu.org>
1629         PR fortran/60392
1630         * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
1631         if it has transposed dimensions.
1633 2014-03-08  Tobias Burnus  <burnus@net-b.de>
1635         PR fortran/60447
1636         * f95-lang.c (gfc_init): Return false when only
1637         preprocessing.
1638         * options.c (gfc_post_options): Ditto.
1640 2014-03-08  Tobias Burnus  <burnus@net-b.de>
1642         * gfortran.texi (Fortran 2003 Status): Mention finalization,
1643         deferred-length character support and input rounding.
1644         (Fortran 2008 Status): Mention that at termination
1645         signalling exceptions are shown.
1647 2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
1648             Janus Weil  <janus@gcc.gnu.org>
1650         PR fortran/51976
1651         * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
1652         * primary.c (build_actual_constructor): It is not an error if
1653         a missing component has the deferred_parameter attribute;
1654         equally, if one is given a value, it is an error.
1655         * resolve.c (resolve_fl_derived0): Remove error for deferred
1656         character length components.  Add the hidden string length
1657         field to the structure. Give it the deferred_parameter
1658         attribute.
1659         * trans-array.c (duplicate_allocatable): Add a strlen field
1660         which is used as the element size if it is non-null.
1661         (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
1662         NULL to the new argument in duplicate_allocatable.
1663         (structure_alloc_comps): Set the hidden string length as
1664         appropriate. Use it in calls to duplicate_allocatable.
1665         (gfc_alloc_allocatable_for_assignment): When a deferred length
1666         backend declaration is variable, use that; otherwise use the
1667         string length from the expression evaluation.
1668         * trans-expr.c (gfc_conv_component_ref): If this is a deferred
1669         character length component, the string length should have the
1670         value of the hidden string length field.
1671         (gfc_trans_subcomponent_assign): Set the hidden string length
1672         field for deferred character length components.  Allocate the
1673         necessary memory for the string.
1674         (alloc_scalar_allocatable_for_assignment): Same change as in
1675         gfc_alloc_allocatable_for_assignment above.
1676         * trans-stmt.c (gfc_trans_allocate): Likewise.
1677         * trans-intrinsic (size_of_string_in_bytes): Make non-static.
1678         * trans-types.c (gfc_get_derived_type): Set the tree type for
1679         a deferred character length component.
1680         * trans.c (gfc_deferred_strlen): New function.
1681         * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
1683 2014-03-01  Mikael Morin  <mikael@gcc.gnu.org>
1685         PR fortran/60341
1686         * frontend-passes.c (optimize_comparison): Guard two union accesses
1687         with the corresponding tag checks.
1689 2014-02-28  Janus Weil  <janus@gcc.gnu.org>
1691         PR fortran/60359
1692         * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
1693         procedure for characters.
1695 2014-02-21  Janus Weil  <janus@gcc.gnu.org>
1697         PR fortran/60302
1698         * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
1699         is successful.
1701 2014-02-21  Janus Weil  <janus@gcc.gnu.org>
1703         PR fortran/60234
1704         * gfortran.h (gfc_build_class_symbol): Removed argument.
1705         * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
1706         (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
1707         delayed now, except for unlimited polymorphics.
1708         (comp_is_finalizable): Procedure pointer components are not finalizable.
1709         * decl. (build_sym, build_struct, attr_decl1): Removed argument of
1710         'gfc_build_class_symbol'.
1711         * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
1712         Ditto.
1713         * symbol.c (gfc_set_default_type): Ditto.
1715 2014-02-19  Janus Weil  <janus@gcc.gnu.org>
1717         PR fortran/60232
1718         * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
1719         functions, which are used as procedure pointer target.
1721 2014-02-18  Tobias Burnus  <burnus@net-b.de>
1723         PR fortran/49397
1724         * expr.c (gfc_check_pointer_assign): Add check for
1725         F2008Cor2, C729.
1726         * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
1727         decl in a corner case.
1729 2014-02-18  Janus Weil  <janus@gcc.gnu.org>
1731         PR fortran/60231
1732         * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
1733         arguments to prevent ICE.
1735 2014-02-17  Janus Weil  <janus@gcc.gnu.org>
1737         PR fortran/55907
1738         * resolve.c (build_default_init_expr): Don't initialize character
1739         variable if -fno-automatic is given.
1741 2014-02-15  Mikael Morin  <mikael@gcc.gnu.org>
1743         PR fortran/59599
1744         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
1745         number of arguments.
1747 2014-02-11  Jakub Jelinek  <jakub@redhat.com>
1749         PR fortran/52370
1750         * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
1751         on decl if sym->attr.optional.
1753 2014-02-09  Paul Thomas  <pault@gcc.gnu.org>
1755         PR fortran/57522
1756         * resolve.c (resolve_assoc_var): Set the subref_array_pointer
1757         attribute for the 'associate-name' if necessary.
1758         * trans-stmt.c (trans_associate_var): If the 'associate-name'
1759         is a subref_array_pointer, assign the element size of the
1760         associate variable to 'span'.
1762 2014-02-09  Paul Thomas  <pault@gcc.gnu.org>
1764         PR fortran/59026
1765         * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
1766         actual argument to a formal argument with the value attribute
1767         in an elemental procedure.
1769 2014-02-08  Janus Weil  <janus@gcc.gnu.org>
1770             Mikael Morin <mikael.morin@gcc.gnu.org>
1772         PR fortran/58470
1773         * class.c (generate_finalization_wrapper): Assert that proc_tree has
1774         been set in gfc_resolve_finalizers.
1775         * resolve.c (resolve_fl_derived0): Remove unnecessary call to
1776         gfc_is_finalizable.
1778 2014-02-07  Benno Schulenberg  <bensberg@justemail.net>
1780         PR translation/52289
1781         * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
1782         in an error message.
1784 2014-02-02  Mikael Morin  <mikael@gcc.gnu.org>
1786         PR fortran/57033
1787         * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
1788         dereference.
1790 2014-02-01  Paul Thomas  <pault@gcc.gnu.org>
1792         PR fortran/59906
1793         * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
1794         SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
1795         pointer to the string is stored.
1796         * trans-expr.c (gfc_conv_expr_reference): Likewise, use
1797         gfc_conv_string_parameter to ensure that a pointer to is passed
1798         to the elemental function.
1800 2014-01-28  Paul Thomas  <pault@gcc.gnu.org>
1802         PR fortran/59414
1803         * trans-stmt.c (gfc_trans_allocate): Before the pointer
1804         assignment to transfer the source _vptr to a class allocate
1805         expression, the final class reference should be exposed. The
1806         tail that includes the _data and array references is stored.
1807         This reduced expression is transferred to 'lhs' and the _vptr
1808         added. Then the tail is restored to the allocate expression.
1810 2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>
1812         PR fortran/58007
1813         * module.c (read_module): Assert for component name correctness.
1815 2014-01-18  Mikael Morin  <mikael@gcc.gnu.org>
1817         PR fortran/58007
1818         * module.c (MOD_VERSION): Bump.
1819         (fp2, find_pointer2): Remove.
1820         (mio_component_ref): Don't forcedfully set the containing derived type
1821         symbol for loading.  Remove unused argument.
1822         (mio_ref): Update caller
1823         (mio_symbol): Dump component list earlier.
1824         (skip_list): New argument nest_level.  Initialize level with the new
1825         argument.
1826         (read_module): Add forced pointer components association for derived
1827         type symbols.
1829 2014-01-12  Janus Weil  <janus@gcc.gnu.org>
1831         PR fortran/58026
1832         * decl.c (gfc_match_data_decl): Improve error recovery.
1834 2014-01-09  Tobias Burnus  <burnus@net-b.de>
1836         * cpp.c (gfc_cpp_handle_option): Add missing break.
1837         * trans-io.c (transfer_expr): Silence unused value warning.
1839 2014-01-08  Janus Weil  <janus@gcc.gnu.org>
1841         PR fortran/58182
1842         * resolve.c (gfc_verify_binding_labels): Modify order of checks.
1844 2014-01-06  Janus Weil  <janus@gcc.gnu.org>
1846         PR fortran/59589
1847         * class.c (comp_is_finalizable): New function to dermine if a given
1848         component is finalizable.
1849         (finalize_component, generate_finalization_wrapper): Use it.
1851 2014-01-06  Janus Weil  <janus@gcc.gnu.org>
1853         PR fortran/59023
1854         PR fortran/59662
1855         * resolve.c (resolve_global_procedure): Don't apply to c-binding
1856         procedures.
1857         (gfc_verify_binding_labels): Remove duplicate line.
1859 2014-01-04  Janus Weil  <janus@gcc.gnu.org>
1861         PR fortran/59547
1862         * class.c (add_proc_comp): Copy pure attribute.
1864 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1866         Update copyright years
1868 2014-01-02  Tobias Burnus  <burnus@net-b.de>
1870         * gfortranspec.c (lang_specific_driver): Update copyright notice
1871         dates.
1872         * gfc-internals.texi: Bump @copying's copyright year.
1873         * gfortran.texi: Ditto.
1874         * intrinsic.texi: Ditto.
1875         * invoke.texi: Ditto.
1877 2014-01-02  Janus Weil  <janus@gcc.gnu.org>
1879         PR fortran/59654
1880         * resolve.c (resolve_typebound_procedures): No need to create the vtab
1881         here.
1883 Copyright (C) 2014 Free Software Foundation, Inc.
1885 Copying and distribution of this file, with or without modification,
1886 are permitted in any medium without royalty provided the copyright
1887 notice and this notice are preserved.