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