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