1 2014-12-31 Tobias Burnus <burnus@net-b.de>
3 * match.c (gfc_match_stopcode): Permit error stop in pure
6 2014-12-31 Uros Bizjak <ubizjak@gmail.com>
8 * trans-array.c (trans_array_bound_check): Use xasprintf instead
10 (gfc_conv_array_ref): Ditto.
11 (gfc_conv_ss_startstride): Ditto.
12 (gfc_trans_dummy_array_bias): Ditto.
13 (gfc_conv_array_parameter): Ditto.
14 * trans-decl.c (gfc_generate_function_code): Ditto.
15 * trans-expr.c (gfc_conv_substring): Ditto.
16 (gfc_conv_procedure_call): Ditto.
17 * trans-io.c (gfc_trans_io_runtime_check): Ditto.
19 * trans.c (trans-runtime_error_vararg): Ditto.
21 2014-12-29 Janus Weil <janus@gcc.gnu.org>
24 * array.c (check_constructor): Ignore empty expressions.
25 * expr.c (check_alloc_comp_init): Check if constructor expression
27 * primary.c (build_actual_constructor): Warn for absent alloc-comp
28 initializers in pre-2008 standards.
30 2014-12-28 Thomas Koenig <tkoenig@gcc.gnu.org>
33 * trans-array.c (gfc_conv_resolve_dependencies): Also check
34 dependencies when there may be substrings of character arrays.
36 2014-12-27 Janus Weil <janus@gcc.gnu.org>
39 * resolve.c (resolve_formal_arglist): Reject polymorphic INTENT(OUT)
40 arguments of pure procedures.
42 2014-12-22 Tobias Burnus <burnus@net-b.de>
44 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, conv_caf_send):
47 2014-12-22 Janus Weil <janus@gcc.gnu.org>
50 * check.c (gfc_check_kind): Reject polymorphic and non-data arguments.
52 2014-12-19 Janus Weil <janus@gcc.gnu.org>
55 * trans-expr.c (gfc_trans_class_array_init_assign): Check if _def_init
56 component is non-NULL.
57 (gfc_trans_class_init_assign): Ditto.
59 2014-12-17 Janus Weil <janus@gcc.gnu.org>
62 * trans-array.c (structure_alloc_comps): Do not nullify procedure
65 2014-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
67 * trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays
68 with column major ordering.
70 2014-12-17 Tobias Burnus <burnus@net-b.de>
73 * gfortran.h (gfc_option_t): Remove flags which now
75 (init_local_real, gfc_fcoarray): Moved to ../flag-types.h.
76 * libgfortran.h (unit_convert): Add comment.
77 * lang.opt (flag-convert, flag-init_real, flag-coarray):
79 * options.c (gfc_handle_coarray_option): Remove.
80 (gfc_init_options, gfc_post_options, gfc_handle_option):
81 Update for *.opt changes.
82 * array.c: Update for flag-variable name changes.
87 * trans-array.c: Ditto.
88 * trans-decl.c: Ditto.
89 * trans-expr.c: Ditto.
90 * trans-intrinsic.c: Ditto.
91 * trans-stmt.c: Ditto.
92 * trans-types.c: Ditto.
95 2014-12-16 Tobias Burnus <burnus@net-b.de>
98 * gfortran.h (gfc_option_t): Remove flags which now
100 * lang.opt (flag-aggressive_function_elimination,
101 flag-align_commons, flag-all_intrinsics,
102 flag-allow_leading_underscore, flag-automatic, flag-backslash,
103 flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer,
104 flag-dollar_ok, flag-dump_fortran_original,
105 flag-dump_fortran_optimized, flag-external_blas, flag-f2c,
106 flag-implicit_none, flag-max_array_constructor,
107 flag-module_private, flag-pack_derived, flag-range_check,
108 flag-recursive, flag-repack_arrays, flag-sign_zero,
109 flag-underscoring): Add Var() and, where applicable, Enum().
110 * options.c (gfc_init_options, gfc_post_options,
111 gfc_handle_option): Update for *.opt changes.
112 * arith.c: Update for flag-variable name changes.
118 * frontend-passes.c: Ditto.
119 * intrinsic.c: Ditto.
129 * trans-array.c: Ditto.
130 * trans-common.c: Ditto.
131 * trans-decl.c: Ditto.
132 * trans-expr.c: Ditto.
133 * trans-intrinsic.c: Ditto.
134 * trans-openmp.c: Ditto.
135 * trans-types.c: Ditto.
137 2014-12-16 Tobias Burnus <burnus@net-b.de>
140 * lang.opt (fsecond-underscore, frecord-marker=8, frecord-marker=4,
141 frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4,
142 freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens,
143 fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=,
144 ffrontend-optimize, ffree-line-length-, ffixed-line-length-,
145 finteger-4-integer-8, fdefault-real-8, fdefault-integer-8,
146 fdefault-double-8): Add Var() and Init().
147 * gfortran.h (gfc_option_t): Remove moved flags.
148 * options.c (gfc_init_options, gfc_handle_option): Ditto.
149 (gfc_post_options): Update for name change.
150 * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle
152 * frontend-passes.c (gfc_run_passes): Ditto.
153 * module.c (use_iso_fortran_env_module): Ditto.
154 * primary.c (match_integer_constant, match_real_constant): Ditto.
155 * resolve.c (resolve_ordinary_assign): Ditto.
156 * scanner.c (gfc_next_char_literal, load_line): Ditto.
157 * trans-array.c (gfc_trans_allocate_array_storage,
158 gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation,
159 gfc_conv_ss_startstride): Ditto.
160 * trans-common.c (gfc_sym_mangled_common_id): Ditto.
161 * trans-decl.c (gfc_sym_mangled_function_id,
162 create_main_function): Ditto.
163 * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call,
164 arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign,
165 gfc_trans_assignment_1): Ditto.
166 * trans-stmt.c (gfc_trans_allocate): Ditto.
167 * trans-types.c (gfc_init_kinds): Ditto.
169 2014-12-16 Janus Weil <janus@gcc.gnu.org>
172 * resolve.c (resolve_typebound_call): New argument to pass out the
173 non-overridable attribute of the specific procedure.
174 (resolve_typebound_subroutine): Get overridable flag from
175 resolve_typebound_call.
177 2014-12-15 Steven Bosscher <steven@gcc.gnu.org>
180 * gfortran.h (struct gfc_namespace): Add OLD_DATA field.
181 * decl.c (gfc_reject_data): New function.
182 * parse.c *use_modules): Record roll-back point.
183 (next_statement): Likewise.
184 (reject_statement): Roll back to last accepted DATA.
186 2014-12-15 Janus Weil <janus@gcc.gnu.org>
189 * resolve.c (resolve_actual_arglist): Check for elemental procedure
192 2014-12-15 Janus Weil <janus@gcc.gnu.org>
195 * resolve.c (check_pure_function): Rewording in error message.
197 2014-12-14 Janus Weil <janus@gcc.gnu.org>
200 * resolve.c (pure_function): Treat procedure-pointer components.
201 (check_pure_function): New function.
202 (resolve_function): Use it.
203 (pure_subroutine): Return a bool to indicate success and modify
205 (resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return
206 value of 'pure_subroutine'.
207 (resolve_ppc_call): Call 'pure_subroutine'.
208 (resolve_expr_ppc): Call 'check_pure_function'.
210 2014-12-13 Tobias Burnus <burnus@net-b.de>
211 Manuel López-Ibáñez <manu@gcc.gnu.org>
213 * error.c (gfc_error): Add variant which takes a va_list.
214 (gfc_notify_std): Convert to common diagnostic.
215 * array.c: Use %qs, %<...%> in more gfc_error calls and
221 * interface.c: Ditto.
222 * intrinsic.c: Ditto.
233 * trans-common.c: Ditto.
234 * trans-intrinsic.c: Ditto.
236 2014-12-11 Richard Biener <rguenther@suse.de>
238 PR tree-optimization/42108
239 * trans-stmt.c (gfc_trans_do): Execute the division computing
240 countm1 before the loop entry check.
242 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
245 * error.c (pp_error_buffer): New static variable.
246 (pp_warning_buffer): Make it a pointer.
247 (gfc_output_buffer_empty_p): New.
248 (gfc_error_init_1): Call gfc_buffer_error.
249 (gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the
251 (gfc_clear_warning): Likewise.
252 (gfc_warning_check): Call gfc_clear_warning. Only check the new
253 pp_warning_buffer if the old warning_buffer was empty. Call
254 diagnostic_action_after_output.
255 (gfc_error_1): Renamed from gfc_error.
257 (gfc_clear_error): Clear also pp_error_buffer.
258 (gfc_error_flag_test): Check also pp_error_buffer.
259 (gfc_error_check): Likewise. Only check the new pp_error_buffer
260 if the old error_buffer was empty.
261 (gfc_move_output_buffer_from_to): New.
262 (gfc_push_error): Use it here. Take also an output_buffer as argument.
263 (gfc_pop_error): Likewise.
264 (gfc_free_error): Likewise.
265 (gfc_diagnostics_init): Use XNEW and placement-new to init
266 pp_error_buffer and pp_warning_buffer. Set flush_p to false for
267 both pp_warning_buffer and pp_error_buffer.
269 * Update gfc_push_error, gfc_pop_error and gfc_free_error calls
270 according to the above changes.
271 * Use gfc_error_1 for all gfc_error calls that use multiple
273 * Use %qs instead of '%s' for many gfc_error calls.
275 2014-12-11 Tobias Burnus <burnus@net-b.de>
276 Manuel López-Ibáñez <manu@gcc.gnu.org>
278 * diagnostic.c (get_terminal_width): Renamed from getenv_columns,
279 removed static, and additionally use ioctl to get width.
280 (diagnostic_set_caret_max_width): Update call.
281 * diagnostic.h (get_terminal_width): Add prototype.
282 * opts.c (print_specific_help): Use it for x_help_columns.
283 * doc/invoke.texi (fdiagnostics-show-caret): Document how the
286 2014-12-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
289 * trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing
290 violation when passing a class object to a formal parameter which has
291 different pointer or allocatable attributes.
293 2014-12-06 Tobias Burnus <burnus@net-b.de>
295 * error.c (gfc_error_check): Use bool not int.
296 * gfortran.h (gfc_error_check): Update prototype.
297 * match.c (gfc_match_if): Update call.
298 * parse.c (decode_statement, decode_omp_directive,
299 decode_gcc_attribute): Ditto.
301 2014-12-06 Tobias Burnus <burnus@net-b.de>
302 Manuel López-Ibáñez <manu@gcc.gnu.org>
304 * error.c (gfc_buffer_error, gfc_error_flag_test): Use bool not int.
305 (buffer_flag): Remove static variable.
306 (buffered_p): Add static variable.
307 (gfc_error_init_1): Call gfc_buffer_error.
308 (gfc_warning_1, gfc_warning, gfc_warning_now_1, gfc_error,
309 gfc_error_now_1): Update for static variable change.
310 * gfortran.h (gfc_buffer_error, gfc_error_flag_test): Update
312 * parse.c (use_modules, decode_specification_statement,
313 next_fixed, next_statement, match_deferred_characteristics):
315 * decl.c (gfc_match_data_decl): Ditto.
316 * match.c (gfc_match_name): Ditto.
318 2014-12-05 Andre Vehreschild <vehre@gmx.de>
321 * interface.c (compare_parameter): Remove class argument rank
324 2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
326 * error.c (gfc_diagnostic_build_locus_prefix): Use
327 diagnostic_expand_location.
329 2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
331 * scanner.c (gfc_next_char_literal): Use gfc_warning_now.
332 (load_file): Use the line length as the column hint for
333 linemap_line_start. Reserve a location for the highest column of
336 2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
339 * gfortran.h (gfc_warning): Now returns bool. Add overload that
341 (gfc_warning_1): Declare.
343 (pp_warning_buffer,warningcount_buffered,werrorcount_buffered): New.
344 (gfc_buffer_error): Set pp_warning_buffer.flush_p.
345 (gfc_clear_pp_buffer): New.
346 (gfc_warning_1): Renamed from gfc_warning.
347 (gfc_warning): Add three new overloads. One that takes just a
348 format string and ellipsis, another that takes also a warning
349 option, and another that takes also va_list instead of ellipsis.
350 (gfc_clear_warning): Clear pp_warning_buffer.
351 (gfc_warning_check): Flush pp_warning_buffer and update warning
353 (gfc_diagnostics_init): Init pp_warning_buffer.
355 * Update all gfc_warning calls that do not use multiple
356 locations to use %qs and OPT_W*, otherwise use gfc_warning_1.
358 2014-12-02 Tobias Burnus <burnus@net-b.de>
359 Manuel López-Ibáñez <manu@gcc.gnu.org>
361 * error.c (warnings_not_errors): Use bool.
362 (gfc_clear_error): Update.
363 (gfc_get_errors): Ditto. Use bool argument.
364 * gfortran.h (gfc_get_errors): Update prototype.
365 * resolve.c (resolve_global_procedure): Update call.
367 2014-12-02 Richard Biener <rguenther@suse.de>
370 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Check
371 proper expressions type, use proper type for computing
374 2014-11-29 Jakub Jelinek <jakub@redhat.com>
376 * trans-openmp.c (gfc_omp_finish_clause,
377 gfc_trans_omp_array_reduction_or_udr, gfc_trans_omp_atomic): Remove
378 NULL last argument from create_tmp_var_raw and create_tmp_var calls.
380 2014-11-29 Tobias Burnus <burnus@net-b.de>
382 * scanner.c (skip_free_comments, gfc_gobble_whitespace): Use
383 gfc_warning_now instead of ..._now_1.
385 2014-11-29 Tobias Burnus <burnus@net-b.de>
386 Manuel López-Ibáñez <manu@gcc.gnu.org>
388 * lang.opt (Wtabs): Combine duplicated item into a single
389 one using || for LangEnabledBy.
391 2014-11-25 Tobias Burnus <burnus@net-b.de>
393 * error.c (gfc_internal_error): Convert to common diagnostics.
394 * interface.c (gfc_find_sym_in_symtree): Use %qs.
395 * intrinsic.c (make_generic, gfc_check_intrinsic_standard,
396 gfc_convert_type_warn): Ditto.
397 * module.c (write_symbol): Ditto.
398 * symbol.c (gfc_get_default_type): Ditto; use fatal instead
400 * trans-array.c (gfc_walk_subexpr): Replace internal_error by
402 * trans-decl.c (gfc_get_symbol_decl,
403 (gfc_create_module_variable): Ditto. Use %qs.
404 * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto.
405 * trans-io.c (transfer_expr): Ditto.
406 * trans-openmp.c (gfc_trans_omp_workshare): Ditto.
407 * trans.c (trans_code): Ditto.
409 2014-11-25 Tobias Burnus <burnus@net-b.de>
411 * gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
412 (gfc_error_now_1): Renamed from gfc_error_now.
413 (gfc_error_now): Renamed from gfc_error_now_2.
414 (gfc_warning_now_1): Renamed from gfc_warning_now.
415 (gfc_warning_now): Renamed from gfc_warning_now_2.
416 * error.c (gfc_error_now_1): Renamed from gfc_error_now.
417 (gfc_error_now): Renamed from gfc_error_now_2.
418 (gfc_warning_now_1): Renamed from gfc_warning_now.
419 (gfc_warning_now): Renamed from gfc_warning_now_2.
420 (gfc_get_errors): Include common diagnostic in count.
421 * lang.opt (Wc-binding-type, Wconversion, Wconversion-extra,
422 Wintrinsics-std): Create a Var for those warnings.
423 * check.c (gfc_check_cmplx): Pass warning flag to
425 * decl.c (get_proc_name, gfc_verify_c_interop_param, build_sym
426 gfc_set_constant_character_len, verify_bind_c_sym): Ditto; use
427 _1 for old diagnostic, remove _2 for new diagnostic.
428 * expr.c (gfc_check_assign, gfc_check_vardef_context): Ditto.
429 * frontend-passes.c (doloop_code, do_function): Ditto.
430 * intrinsic.c (gfc_is_intrinsic, gfc_convert_type_warn): Ditto.
431 * match.c (gfc_match_common): Ditto.
432 * module.c (use_iso_fortran_env_module, gfc_use_module): Ditto.
433 * parse.c (decode_statement, decode_gcc_attribute, next_free,
434 next_fixed, gfc_check_do_variable): Ditto.
435 * resolve.c (resolve_common_vars, resolve_ordinary_assign):
437 * scanner.c (add_path_to_list, skip_free_comments,
438 gfc_next_char_literal, gfc_gobble_whitespace, load_line,
439 preprocessor_line, load_file): Ditto.
440 * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
442 * options.c (gfc_post_options): Ditto.
443 (gfc_init_options, set_Wall, gfc_handle_option): Ditto; remove
444 flags which now have a Var.
445 * invoke.texi (Wconversion-extra): Make clear that the flag
446 does not imply -Wconversion.
448 2014-11-24 Jakub Jelinek <jakub@redhat.com>
451 * trans-openmp.c (gfc_trans_omp_atomic): Make sure lhsaddr is
452 simple enough for goa_lhs_expr_p.
454 2014-11-24 Tobias Burnus <burnus@net-b.de>
456 * error.c (gfc_fatal_error_1): Remove.
457 * gfortran.h (gfc_fatal_error_1): Remove.
458 * check.c (check_co_collective): Change gfc_fatal_error_1 to
460 * match.c (gfc_match_name): Ditto.
461 * trans-array.c (gfc_conv_array_initializer): Ditto.
462 * trans-stmt.c (gfc_trans_sync): Ditto.
464 2014-11-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
467 * decl.c (gfc_verify_c_interop_param): Use gfc_error_now_2.
468 (gfc_set_constant_character_len): Use gfc_warning_now_2.
469 * resolve.c (resolve_ordinary_assign): Likewise.
470 * gfortran.h (warn_character_truncation): Do not declare here.
471 * error.c (gfc_format_decoder): Handle %L.
472 * lang.opt (Wcharacter-truncation): Add Var and LangEnabledBy.
473 * options.c (gfc_init_options): Do not handle
474 warn_character_truncation explicitly.
475 (set_Wall): Likewise.
476 (gfc_handle_option): Likewise.
478 2014-11-23 Tobias Burnus <burnus@net-b.de>
480 * invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that
481 -Wtabs enables the warning.
483 2014-11-23 Tobias Burnus <burnus@net-b.de>
485 * error.c (gfc_diagnostic_build_prefix): Correct coloring
486 of the colon of the prefix.
488 2014-11-23 Tobias Burnus <burnus@net-b.de>
489 Manuel López-Ibáñez <manu@gcc.gnu.org>
491 * gfortran.h (gfc_option_t): Remove warn_tabs.
492 * lang.opt (Wpedantic): Add.
493 (Wtabs): Use Var and LangEnabledBy.
494 * options.c (gfc_init_options, gfc_post_options,
495 set_Wall): Remove -Wtabs handling.
496 (gfc_handle_option): Update -std=, remove OPT_Wtabs.
497 * scanner.c (gfc_gobble_whitespace): Update for
498 flag-variable renaming.
499 (load_line): Ditto. Pass warn flag to diagnostic.
501 2014-11-22 Tobias Burnus <burnus@net-b.de>
503 * trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
505 2014-11-15 Tobias Burnus <burnus@net-b.de>
507 * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
508 (gfc_fatal_error): Add; uses common diagnostics.
509 * array.c (gfc_match_array_ref, gfc_match_array_spec): Use
511 * check.c (check_co_collective, gfc_check_lcobound,
512 gfc_check_image_index, gfc_check_num_images,
513 gfc_check_this_image, gfc_check_ucobound): Ditto.
514 * cpp.c (gfc_cpp_post_options): Ditto.
515 (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
516 * gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
517 * gfortran.h (gfc_fatal_error_1): Add.
518 * match.c (gfc_match_name, gfc_match_critical,
519 lock_unlock_statement, sync_statement): Add %< %>.
520 * module.c (bad_module, gfc_dump_module, gfc_use_module): Change
522 * options.c (gfc_handle_module_path_options, gfc_handle_fpe_option,
523 gfc_handle_coarray_option, gfc_handle_runtime_check_option,
524 gfc_handle_option): Add %< %>.
525 * simplify.c (gfc_simplify_num_images): Ditto.
526 * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
527 * trans-array.c (gfc_conv_array_initializer): Ditto.
528 * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
529 of fatal_error; add %< %> quotations.
531 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
532 Thomas Schwinge <thomas@codesourcery.com>
533 Ilya Verbin <ilya.verbin@intel.com>
534 Andrey Turetskiy <andrey.turetskiy@intel.com>
536 * Make-lang.in (fortran.install-common): Do not install for the offload
539 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
542 * gfortran.h (warn_use_without_only): Remove.
543 (gfc_diagnostics_finish): Declare.
544 * error.c: Include tree-diagnostics.h
545 (gfc_format_decoder): New.
546 (gfc_diagnostics_init): Use gfc_format_decoder. Set default caret
548 (gfc_diagnostics_finish): Restore tree diagnostics defaults, but
549 keep gfc_diagnostics_starter and finalizer. Restore default caret.
550 * options.c: Remove all uses of warn_use_without_only.
551 * lang.opt (Wuse-without-only): Add Var.
552 * f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish.
553 * module.c (gfc_use_module): Use gfc_warning_now_2.
554 * parse.c (decode_statement): Likewise.
555 (decode_gcc_attribute): Likewise.
556 (next_free): Likewise.
557 (next_fixed): Likewise.
559 2014-11-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
562 * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.
564 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
568 * gfortran.texi: Add note about locale issues to thread-safety
571 2014-11-04 Bernd Schmidt <bernds@codesourcery.com>
573 * f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
574 scalbn, scalbnl and scalbnf.
575 * mathbuiltins.def (JN, YN): Use type index 5.
577 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
579 * trans-types.c, trans-types.h: Remove redundant enum from
582 2014-10-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
585 * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2.
586 (gfc_error_cmdline): Rename as gfc_error_now_2.
587 * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space.
588 (gfc_diagnostic_starter): Add space between locus and prefix.
589 (gfc_warning_now_2): Renamed from gfc_warning_cmdline.
590 (gfc_error_now_2): Renamed from gfc_error_cmdline.
591 * scanner.c (add_path_to_list): Use gfc_warning_now_2.
592 (load_line): Likewise.
593 (load_file): Likewise.
594 * options.c (gfc_post_options): Update all renamed functions.
596 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
598 * f95-lang.c: Adjust include files.
599 * trans-decl.c: Ditto.
601 2014-10-24 Tobias Burnus <burnus@net-b.de>
603 * check.c (check_co_collective): Reject coindexed A args.
604 (gfc_check_co_reduce): Add OPERATOR checks.
605 * gfortran.texi (_gfortran_caf_co_broadcast, _gfortran_caf_co_max,
606 _gfortran_caf_co_min, _gfortran_caf_co_sum,
607 _gfortran_caf_co_reduce): Add ABI documentation.
608 * intrinsic.texi (CO_REDUCE): Document intrinsic.
609 (DPROD): Returns double not single precision.
610 * trans-decl.c (gfor_fndecl_co_reduce): New global var.
611 (gfc_build_builtin_function_decls): Init it.
612 * trans.h (gfor_fndecl_co_reduce): Declare it.
613 * trans-intrinsic.c (conv_co_collective,
614 gfc_conv_intrinsic_subroutine): Handle CO_REDUCE.
616 2014-10-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
619 * trans-const.c (gfc_build_nan): New function.
620 * trans-const.h (gfc_build_nan): New prototype.
621 * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special
623 (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan.
624 (gfc_conv_intrinsic_fraction): Handle special values.
625 (gfc_conv_intrinsic_spacing): Likewise.
626 (gfc_conv_intrinsic_rrspacing): Likewise.
627 (gfc_conv_intrinsic_set_exponent): Likewise.
629 2014-10-18 Paul Thomas <pault@gcc.gnu.org>
632 * resolve.c (resolve_ordinary_assign): Add data component to
633 rvalue expression for class to type assignment.
635 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
637 * f95-lang.c: Adjust include files.
638 * trans-decl.c: Likewise.
640 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
642 * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
644 2014-10-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
647 * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
648 (gfc_simplify_log): Likewise.
649 (gfc_simplify_scale): Likewise.
650 (gfc_simplify_exponent): Handle infinities and NaNs.
651 (gfc_simplify_fraction): Handle infinities.
652 (gfc_simplify_rrspacing): Handle signed zeros and NaNs.
653 (gfc_simplify_set_exponent): Handle infinities and NaNs.
654 (gfc_simplify_spacing): Handle zeros, infinities and NaNs.
656 2014-10-10 Jakub Jelinek <jakub@redhat.com>
659 * trans-openmp.c (gfc_omp_predetermined_sharing): Return
660 OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
662 2014-10-10 Tobias Burnus <burnus@net-b.de>
664 * gfortran.h (gfc_set_implicit_none): Update prototype.
665 * symbol.c (gfc_set_implicit_none): Take and
666 use error location. Move diagnostic from here to ...
667 * decl.c (gfc_match_implicit_none): ... here. And
668 update call. Handle empty implicit-none-spec.
669 (gfc_match_implicit): Handle statement-separator ";".
671 2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
673 * f95-lang.c (gfc_init_builtin_functions): Add more floating-point
675 * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
676 remainder, rint and signbit.
677 * trans-decl.c (save_fp_state, restore_fp_state): Move to
679 (gfc_generate_function_code): Use new names for these two functions.
680 * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
681 emit code from the front-end.
682 * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
683 conv_ieee_function_args, conv_intrinsic_ieee_builtin,
684 conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
685 conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
686 conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
687 conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
689 * trans.h (gfc_conv_ieee_arithmetic_function,
690 gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
692 2014-10-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
696 * gfortran.h (gfc_warning_cmdline): Add overload that takes an
698 (gfc_error_cmdline): Declare.
699 * error.c (gfc_warning_cmdline): New overload that takes an option.
700 (gfc_error_cmdline): New.
701 * lang.opt (Wmissing-include-dirs): New.
702 * scanner.c (add_path_to_list): Use the new functions.
703 (load_file): Likewise.
704 * options.c (gfc_init_options): Wmissing-include-dirs is enabled
705 by default in Fortran.
706 (gfc_handle_option): Accept automatically handled options.
708 2014-10-06 Tobias Burnus <burnus@net-b.de>
710 * libgfortran.h (GFC_STD_F2015): Add.
711 * decl.c (gfc_match_implicit_none): Handle spec list.
712 (gfc_match_implicit): Move double intrinsic warning here.
713 * gfortran.h (gfc_namespace): Add has_implicit_none_export:1.
714 (gfc_set_implicit_none): Update interface.
715 * interface.c (gfc_procedure_use): Add implicit-none external
717 * parse.c (accept_statement): Remove call.
718 (verify_st_order): Permit that external-implict-none follows
720 * symbol.c (gfc_set_implicit_none): Handle external/type
723 2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
726 * resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
728 2014-09-25 Tobias Burnus <burnus@net-b.de>
730 * check.c (check_co_collective): Renamed from check_co_minmaxsum,
732 (gfc_check_co_minmax, gfc_check_co_sum): Update call.
733 (gfc_check_co_broadcast, gfc_check_co_reduce): New.
734 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
736 * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
737 * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
739 * intrinsic.texi (CO_BROADCAST): Add.
740 * trans.h (gfor_fndecl_co_broadcast): New.
741 * trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
742 (gfc_build_builtin_function_decls): Add decl for it,
743 * trans-intrinsic.c (conv_co_collective): Renamed from
744 conv_co_minmaxsum. Handle co_reduce.
745 (gfc_conv_intrinsic_subroutine): Handle co_reduce.
747 2014-09-23 Jakub Jelinek <jakub@redhat.com>
750 * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
751 instead of VAR_DECL for base_decl.
753 2014-09-21 Jan Hubicka <hubicka@ucw.cz>
755 * openmp.c (omp_context): Rename to ...
756 (fortran_omp_context): ... this one.
758 2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
760 * resolve.c (resolve_fl_procedure): Remove duplicated lines.
762 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
763 Tobias Burnus <burnus@net-b.de>
765 * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
766 generating temporary for value argument.
768 2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
770 * trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
771 (gfc_conv_class_to_class): Likewise.
772 (gfc_conv_procedure_call): Likewise.
773 (arrayfunc_assign_needs_temporary): Likewise.
774 (realloc_lhs_loop_for_fcn_call): Likewise.
775 (gfc_trans_assignment_1): Likewise.
776 * trans-array.c (gfc_conv_array_ref): Likewise.
777 (gfc_array_allocate): Likewise.
778 (gfc_alloc_allocatable_for_assignment): Likewise.
779 * symbol.c (generate_isocbinding_symbol): Likewise.
780 * class.c (finalization_scalarizer): Likewise.
781 (finalizer_insert_packed_call): Likewise.
782 (generate_finalization_wrapper): Likewise.
783 (find_intrinsic_vtab): Likewise.
784 * decl.c (gfc_match_import): Likewise.
785 (match_procedure_decl): Likewise.
786 (gfc_match_subroutine): Likewise.
787 (gfc_match_bind_c): Likewise.
788 (gfc_match_volatile): Likewise.
789 * trans-common.c (create_common): Likewise.
790 * error.c (gfc_diagnostic_starter): Likewise.
791 * trans-stmt.c (gfc_trans_sync): Likewise.
792 (gfc_trans_critical): Likewise.
793 (gfc_trans_simple_do): Likewise.
794 (gfc_trans_do): Likewise.
795 (gfc_trans_where_assign): Likewise.
796 * expr.c (gfc_is_simply_contiguous): Likewise.
797 * module.c (unquote_string): Likewise.
798 * trans.c (gfc_add_finalizer_call): Likewise.
799 * trans-types.c (gfc_init_kinds): Likewise.
800 * scanner.c (preprocessor_line): Likewise.
801 * gfortranspec.c (lang_specific_driver): Likewise.
802 * frontend-passes.c (create_var): Likewise.
803 (cfe_expr_0): Likewise.
804 * resolve.c (check_host_association): Likewise.
805 (gfc_resolve_code): Likewise.
806 (resolve_fl_derived0): Likewise.
807 (resolve_symbol): Likewise.
808 * f95-lang.c (poplevel): Likewise.
809 * trans-decl.c (create_main_function): Likewise.
810 * trans-io.c (transfer_expr): Likewise.
811 * arith.c (gfc_arith_divide): Likewise.
812 * parse.c (resolve_all_program_units): Likewise.
813 * check.c (gfc_check_rank): Likewise.
814 (gfc_check_sizeof): Likewise.
815 (is_c_interoperable): Likewise.
816 * dependency.c (gfc_dep_difference): Likewise.
817 * primary.c (gfc_match_rvalue): Likewise.
818 * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
819 (conv_isocbinding_subroutine): Likewise.
820 * options.c (gfc_post_options): Likewise.
821 (gfc_handle_fpe_option): Likewise.
822 (gfc_get_option_string): Likewise.
823 * simplify.c (simplify_transformation_to_scalar): Likewise.
824 (gfc_simplify_spread): Likewise.
826 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
829 * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
831 2014-09-15 Jakub Jelinek <jakub@redhat.com>
833 * Make-lang.in (check_gfortran_parallelize): Change to just an upper
836 2014-09-13 Tobias Burnus <burnus@net-b.de>
839 * trans-decl.c (gfc_build_builtin_function_decls): Fix
840 caf_unlock declaration.
842 2014-09-12 Joseph Myers <joseph@codesourcery.com>
844 * trans-types.c (gfc_init_kinds): Check
845 targetm.libgcc_floating_mode_supported_p for floating-point
846 modes. Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE.
848 2014-09-05 Joost VandeVondele <vondele@gcc.gnu.org>
851 * intrinsic.texi (INT): clarify result.
853 2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
856 * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
857 when matching a component declaration.
859 2014-09-02 Marek Polacek <polacek@redhat.com>
862 * interface.c (compare_parameter): Fix condition.
863 * trans-expr.c (gfc_conv_procedure_call): Likewise.
865 2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
868 * resolve.c (apply_default_init_local): Don't treat variables
869 in RECURSIVE procedures as saved.
871 2014-08-31 Tobias Burnus <burnus@net-b.de>
873 * trans-decl.c (gfc_build_builtin_function_decls): Add
874 may_require_tmp dummy argument.
875 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
876 conv_caf_send): Handle may_require_tmp argument.
877 (gfc_conv_intrinsic_function): Update call.
878 * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
879 _gfortran_caf_sendget): Update interface description.
881 2014-08-30 Tobias Burnus <burnus@net-b.de>
883 * trans.h (gfc_caf_get_image_index,
884 gfc_get_caf_token_offset): New prototypes.
885 * trans-expr.c (gfc_caf_get_image_index): Moved from
886 trans-intrinsic.c and renamed.
887 (gfc_get_caf_token_offset) Ditto; support offset = NULL
889 * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
891 (gfc_conv_intrinsic_caf_get, conv_caf_send,
892 conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
893 conv_intrinsic_atomic_cas): Update callers.
895 2014-08-30 Tobias Burnus <burnus@net-b.de>
900 * dependency.c (gfc_check_dependency): Allow for optimizations
901 in the pointer-alias check.
903 2014-08-30 Janne Blomqvist <jb@gcc.gnu.org>
905 * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
908 2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com>
911 * module.c (gfc_dump_module): Unlink old module file before
914 2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
916 * frontend_passes (expr_array): Replace by vec template.
918 (expr_count): Remove.
919 (doloop_list): Replace by vec template.
920 (doloop_size): Remove.
921 (gfc_run_passes): Adjust to use of vec template.
922 (cfe_register_funcs): Likewise.
923 (cfe_expr_0): Likewise.
924 (doloop_code): Likewise.
926 2014-08-22 Steven Bosscher <steven@gcc.gnu.org>
929 * resolve.c (resolve_select): Fix list traversal in case the
930 last element of the CASE list was dropped as unreachable code.
932 2014-08-22 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
935 * lang.opt (Wuse-without-only): New flag.
936 * gfortran.h (gfc_option_t): Add it.
937 * invoke.texi: Document it.
938 * module.c (gfc_use_module): Warn if needed.
939 * options.c (gfc_init_options,gfc_handle_option): Init accordingly.
941 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
944 * frontend-passes.c (optimize_binop_array_assignment):
945 Do not try to optimize the array assignment for string
948 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
951 * error.c (gfc_diagnostic_build_locus_prefix): New function.
952 (gfc_diagnostic_starter): Follow Fortran FE diagnostics.
953 (gfc_diagnostic_finalizer): Do not call default finalizer.
955 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
958 * error.c (gfc_diagnostic_finalizer): Call default finalizer.
960 2014-08-20 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
962 * options.c (gfc_init_options_struct): assert that the frontend sets
963 flag_errno_math and flag_associative_math.
965 2014-08-17 Tobias Burnus <burnus@net-b.de>
967 * resolve.c (gfc_resolve_finalizers): Ensure that parents are
970 2014-08-17 Tobias Burnus <burnus@net-b.de>
972 * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
974 (transfer_namelist_element): Use proper int type as argument.
976 2014-08-15 Thomas Koenig <tkoenig@gcc.gnu.org>
979 * trans-expr.c (is_runtime_conformable): Add NULL pointer checks.
981 2014-08-15 Tobias Burnus <burnus@net-b.de>
983 * resolve.c (resolve_critical): Fix name mangling.
984 * trans-stmt.c (gfc_trans_critical): Fix lock call.
986 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
989 * gfortran.h: Define GCC_DIAG_STYLE.
990 (gfc_diagnostics_init,gfc_warning_cmdline): Declare.
991 * trans-array.c: Include gfortran.h before diagnostic-core.h.
992 * trans-expr.c: Likewise.
993 * trans-openmp.c: Likewise.
994 * trans-const.c: Likewise.
996 * trans-types.c: Likewise.
997 * f95-lang.c: Likewise.
998 * trans-decl.c: Likewise.
999 * trans-io.c: Likewise.
1000 * trans-intrinsic.c: Likewise.
1001 * error.c: Include diagnostic.h and diagnostic-color.h.
1002 (gfc_diagnostic_build_prefix): New.
1003 (gfc_diagnostic_starter): New.
1004 (gfc_diagnostic_finalizer): New.
1005 (gfc_warning_cmdline): New.
1006 (gfc_diagnostics_init): New.
1007 * gfc-diagnostic.def: New.
1008 * options.c (gfc_init_options): Call gfc_diagnostics_init.
1009 (gfc_post_options): Use gfc_warning_cmdline.
1011 2014-08-15 Jakub Jelinek <jakub@redhat.com>
1012 Tobias Burnus <burnus@net-b.de>
1015 * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
1016 is allocatable, rather than whenever var->attr.allocatable.
1018 2014-08-15 Jakub Jelinek <jakub@redhat.com>
1021 * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
1022 or allocatable passed by reference.
1023 (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.
1025 2014-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1028 * gfortran.h (symbol_attribute): Add fe_temp flag.
1029 * frontend-passes.c (is_fe_temp): New function.
1030 (create_var): Don't add a temporary for an already
1031 created variable or for a constant.
1032 (combine_ARRAY_constructor): Remove special handling
1035 2014-08-14 Tobias Burnus <burnus@net-b.de>
1037 * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
1038 (_gfortran_caf_register): Update for locking/critical.
1039 (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
1040 * resolve.c (resolve_critical): New.
1041 (gfc_resolve_code): Call it.
1042 * trans-decl.c (gfor_fndecl_caf_critical,
1043 gfor_fndecl_caf_end_critical): Remove.
1044 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
1045 (gfc_build_builtin_function_decls): Remove critical,
1046 assign locking declarations.
1047 (generate_coarray_sym_init): Handle locking and
1049 * trans-stmt.c (gfc_trans_critical): Add calls to
1050 lock/unlock libcaf functions.
1051 * trans.h (gfc_coarray_type): Update locking, add
1052 critical enum values.
1053 (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
1054 (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
1056 2014-08-14 Tobias Burnus <burnus@net-b.de>
1058 * gfortran.texi (Coarray Programming): Add first ABI
1061 2014-08-14 Jakub Jelinek <jakub@redhat.com>
1064 * openmp.c (gfc_match_omp_clauses): When failed to match
1065 operator name, defined op name or name, set buffer to
1066 empty string. Don't call gfc_find_omp_udr if buffer is empty
1068 (gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
1069 before calling gfc_free_omp_udr.
1071 2014-08-11 Richard Biener <rguenther@suse.de>
1074 * trans-expr.c (gfc_conv_structure): Initialize _size with
1075 a value of proper type.
1077 2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
1080 * simplify.c (gfc_simplify_dot_product): Convert types of
1081 vectors before calculating the result.
1083 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1085 * openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
1087 2014-07-26 Tobias Burnus <burnus@net-b.de>
1092 * intrinsic.texi (SIZEOF): Document changed behavior
1093 for polymorphic arrays.
1095 2014-07-26 Tobias Burnus <burnus@net-b.de>
1100 * check.c (gfc_check_sizeof): Permit for assumed type if and
1101 only if it has an array descriptor.
1102 * intrinsic.c (do_ts29113_check): Permit SIZEOF.
1103 (add_functions): SIZEOF is an Inquiry function.
1104 * intrinsic.texi (SIZEOF): Add note that only contiguous
1105 arrays are permitted.
1106 * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
1108 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
1109 assumed type + array descriptor, CLASS and assumed rank.
1110 (gfc_conv_intrinsic_storage_size): Handle class arrays.
1112 2014-07-25 Tobias Burnus <burnus@net-b.de>
1114 * simplify.c (gfc_simplify_storage_size): Use proper
1115 integer kind for the returned value.
1117 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
1119 * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
1120 correct menu position to match sectioning.
1122 2014-06-15 Tobias Burnus <burnus@net-b.de>
1124 * symbol.c (check_conflict): Add codimension conflict with
1125 pointer; fix cray-pointee check.
1127 2014-06-14 Tobias Burnus <burnus@net-b.de>
1129 * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
1130 for kind mismatch with -fcoarray=lib.
1132 2014-07-12 Paul Thomas <pault@gcc.gnu.org>
1135 * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
1136 that elements are skipped. This then correctly aligns 'reverse'
1137 with the scalarizer loops.
1139 2014-07-12 Tobias Burnus <burnus@net-b.de>
1142 * trans-types.c (gfc_init_types): Fix data-type bug
1143 with gfc_max_array_element_size.
1145 2014-07-12 Tobias Burnus <burnus@net-b.de>
1147 * libgfortran.h (libcaf_atomic_codes): Add.
1148 * trans-decl.c (gfor_fndecl_caf_atomic_def,
1149 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
1150 gfor_fndecl_caf_atomic_op): New variables.
1151 (gfc_build_builtin_function_decls): Initialize them.
1152 * trans.h (gfor_fndecl_caf_atomic_def,
1153 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
1154 gfor_fndecl_caf_atomic_op): New variables.
1155 * trans-intrinsic.c (conv_intrinsic_atomic_op,
1156 conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
1157 Add library calls with -fcoarray=lib.
1159 2014-07-12 Tobias Burnus <burnus@net-b.de>
1161 * check.c (gfc_check_atomic): Update for STAT=.
1162 (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
1163 (gfc_check_atomic_op, gfc_check_atomic_cas,
1164 gfc_check_atomic_fetch_op): New.
1165 * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
1166 GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
1167 GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
1168 GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
1169 * intrinsic.c (add_subroutines): Handle them.
1170 * intrinsic.texi: Add documentation for them.
1171 (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
1172 (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
1173 * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
1174 gfc_check_atomic_fetch_op): New
1176 * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
1177 * iso-fortran-env.def: Add it.
1178 * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
1179 conv_intrinsic_atomic_ref; handle more atomics.
1180 (conv_intrinsic_atomic_def): Handle STAT=.
1181 (conv_intrinsic_atomic_cas): New.
1182 (gfc_conv_intrinsic_subroutine): Handle new atomics.
1184 2014-07-09 Bernd Schmidt <bernds@codesourcery.com>
1186 * trans-array.c (gfc_build_constant_array_constructor): Build a
1187 static decl manually.
1188 * trans-decl.c (create_main_function): Likewise.
1190 2014-07-07 Paul Thomas <pault@gcc.gnu.org>
1194 * trans-expr.c (fcncall_realloc_result): Use the natural type
1195 for the address expression of 'res_desc'.
1197 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com>
1199 * gfortran.texi (Fortran 2003 status): Fix grammar.
1201 2014-07-04 Tobias Burnus <burnus@net-b.de>
1203 * resolve.c (resolve_assoc_var): Fix corank setting.
1204 * trans-array.c (gfc_conv_descriptor_token): Change assert.
1205 for select-type temporaries.
1206 * trans-decl.c (generate_coarray_sym_init): Skip for
1207 attr.select_type_temporary.
1208 * trans-expr.c (gfc_conv_procedure_call): Fix for
1209 select-type temporaries.
1210 * trans-intrinsic.c (get_caf_token_offset): Ditto.
1211 (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
1213 * trans-types.h (gfc_get_dtype_rank_type): New.
1214 * trans-types.c (gfc_get_dtype_rank_type): Ditto.
1216 2014-07-03 Tobias Burnus <burnus@net-b.de>
1218 * scanner.c (skip_free_comments): Fix indentation.
1220 2014-07-02 Jakub Jelinek <jakub@redhat.com>
1221 Fritz Reese <Reese-Fritz@zai.com>
1223 * decl.c (variable_decl): Reject old style initialization
1224 for derived type components.
1226 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1230 * decl.c (check_bind_name_identifier): New function.
1231 (gfc_match_bind_c): Match any constant expression as binding
1233 * match.c (gfc_match_name_C): Remove.
1235 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1238 * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
1239 * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
1241 * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
1242 * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
1243 * module.c (mio_symbol): Keep track of symbols which came from
1245 (gfc_use_module): Keep track of the IEEE modules.
1246 * trans-decl.c (gfc_get_symbol_decl): Adjust code since
1247 we have new intrinsic modules.
1248 (gfc_build_builtin_function_decls): Build decls for
1249 ieee_procedure_entry and ieee_procedure_exit.
1250 (is_from_ieee_module, is_ieee_module_used, save_fp_state,
1251 restore_fp_state): New functions.
1252 (gfc_generate_function_code): Save and restore floating-point
1253 state on procedure entry/exit, when IEEE modules are used.
1254 * intrinsic.texi: Document the IEEE modules.
1256 2014-06-25 Tobias Burnus <burnus@net-b.de>
1258 * interface.c (check_intents): Fix diagnostic with
1261 2014-06-25 Tobias Burnus <burnus@net-b.de>
1263 * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
1264 when assigning a coindexed RHS scalar to a noncoindexed LHS
1266 * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
1267 for a noncoindexed scalar RHS.
1269 2014-06-25 Tobias Burnus <burnus@net-b.de>
1271 * check.c (check_co_minmaxsum): Add definable check.
1272 * expr.c (gfc_check_vardef_context): Fix context == NULL case.
1273 * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
1275 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
1278 2014-06-25 Jakub Jelinek <jakub@redhat.com>
1280 * trans.h (gfc_omp_clause_linear_ctor): New prototype.
1281 * trans-openmp.c (gfc_omp_linear_clause_add_loop,
1282 gfc_omp_clause_linear_ctor): New functions.
1283 (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
1284 correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
1285 * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
1287 2014-06-24 Jakub Jelinek <jakub@redhat.com>
1289 * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
1291 * f95-lang.c (gfc_init_builtin_functions): Initialize
1292 BUILT_IN_ASSUME_ALIGNED.
1293 * gfortran.h (gfc_omp_namelist): Change udr field type to
1294 struct gfc_omp_namelist_udr.
1295 (gfc_omp_namelist_udr): New type.
1296 (gfc_get_omp_namelist_udr): Define.
1297 (gfc_resolve_code): New prototype.
1298 * match.c (gfc_free_omp_namelist): Free name->udr.
1299 * module.c (intrinsics): Add INTRINSIC_USER.
1300 (fix_mio_expr): Likewise.
1301 (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
1302 * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
1303 (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
1304 Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
1305 (struct resolve_omp_udr_callback_data): New type.
1306 (resolve_omp_udr_callback, resolve_omp_udr_callback2,
1307 resolve_omp_udr_clause): New functions.
1308 (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
1310 (omp_udr_callback): Don't check for implicitly declared functions
1312 (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
1313 implicitly declared subroutines here.
1314 * resolve.c (resolve_function): If value.function.isym is non-NULL,
1315 consider it already resolved.
1316 (resolve_code): Renamed to ...
1317 (gfc_resolve_code): ... this. No longer static.
1318 (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
1320 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
1321 by reference type (C_PTR) variables.
1322 (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
1323 (gfc_trans_omp_udr_expr): Remove.
1324 (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
1325 Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
1326 expand it as assignment or subroutine call. Don't initialize
1327 value.function.isym.
1329 2014-06-23 Tobias Burnus <burnus@net-b.de>
1331 * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
1332 explicit-size arrays with -fcoarray=lib.
1334 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1337 * invoke.texi: Don't mention nonexisting -fcase-lower option.
1339 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1342 * expr.c (scalarize_intrinsic_call): Take care of optional
1345 2014-06-19 Tobias Burnus <burnus@net-b.de>
1347 * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
1350 2014-06-18 Tobias Burnus <burnus@net-b.de>
1352 * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
1353 * intrinsic.texi (OpenMP Modules): Ditto.
1355 2014-06-18 Jakub Jelinek <jakub@redhat.com>
1357 * cpp.c (cpp_define_builtins): Change _OPENMP macro to
1359 * dump-parse-tree.c (show_omp_namelist): Add list_type
1360 argument. Adjust for rop being u.reduction_op now,
1361 handle depend_op or map_op.
1362 (show_omp_node): Adjust callers. Print some new
1363 OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
1364 becoming a single OMP_LIST_DEPEND.
1365 * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
1367 (gfc_attribute_table): New variable.
1368 (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
1369 * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
1370 EXEC_OMP_* codes and new clauses.
1371 * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
1372 ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
1373 ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
1374 ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
1375 ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
1376 ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
1377 ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
1378 ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
1379 ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
1380 ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
1381 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
1382 ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
1383 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
1384 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
1385 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
1386 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
1387 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
1388 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
1389 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
1390 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
1391 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
1392 (symbol_attribute): Add omp_declare_target field.
1393 (gfc_omp_depend_op, gfc_omp_map_op): New enums.
1394 (gfc_omp_namelist): Replace rop field with union
1395 containing reduction_op, depend_op and map_op.
1396 (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
1397 (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
1398 (gfc_omp_clauses): Add num_teams, device, thread_limit,
1399 dist_sched_kind, dist_chunk_size fields.
1400 (gfc_common_head): Add omp_declare_target field.
1401 (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
1402 EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
1403 EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
1404 EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
1405 EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
1406 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
1407 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
1408 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
1409 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
1410 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
1411 EXEC_OMP_TARGET_UPDATE.
1412 (gfc_add_omp_declare_target): New prototype.
1413 * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
1414 gfc_match_omp_distribute_parallel_do,
1415 gfc_match_omp_distribute_parallel_do_simd,
1416 gfc_match_omp_distribute_simd, gfc_match_omp_target,
1417 gfc_match_omp_target_data, gfc_match_omp_target_teams,
1418 gfc_match_omp_target_teams_distribute,
1419 gfc_match_omp_target_teams_distribute_parallel_do,
1420 gfc_match_omp_target_teams_distribute_parallel_do_simd,
1421 gfc_match_omp_target_teams_distribute_simd,
1422 gfc_match_omp_target_update, gfc_match_omp_teams,
1423 gfc_match_omp_teams_distribute,
1424 gfc_match_omp_teams_distribute_parallel_do,
1425 gfc_match_omp_teams_distribute_parallel_do_simd,
1426 gfc_match_omp_teams_distribute_simd): New prototypes.
1427 * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
1428 (attr_bits): Likewise.
1429 (mio_symbol_attribute): Handle omp_declare_target attribute.
1430 (gfc_free_omp_clauses): Free num_teams, device, thread_limit
1431 and dist_chunk_size expressions.
1432 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
1433 OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
1434 OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
1435 OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
1436 OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
1437 OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
1438 OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
1439 OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
1440 OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
1441 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
1442 OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
1443 OMP_CLAUSE_DIST_SCHEDULE): Define.
1444 (gfc_match_omp_clauses): Change mask parameter to unsigned int.
1445 Adjust for rop becoming u.reduction_op. Disallow inbranch with
1446 notinbranch. For depend clause, always create OMP_LIST_DEPEND
1447 and fill in u.depend_op. Handle num_teams, device, map,
1448 to, from, thread_limit and dist_schedule clauses.
1449 (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
1450 OMP_CLAUSE_NOTINBRANCH.
1451 (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
1452 OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
1453 OMP_DISTRIBUTE_CLAUSES): Define.
1454 (match_omp): New function.
1455 (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
1456 gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
1457 gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
1458 gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
1459 gfc_match_omp_task): Rewritten using match_omp.
1460 (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
1461 Diagnose if the directives are followed by unexpected junk.
1462 (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
1463 gfc_match_omp_distribute_parallel_do_simd,
1464 gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
1465 gfc_match_omp_target, gfc_match_omp_target_data,
1466 gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
1467 gfc_match_omp_target_teams_distribute_parallel_do,
1468 gfc_match_omp_target_teams_distribute_parallel_do_simd,
1469 gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
1470 gfc_match_omp_teams, gfc_match_omp_teams_distribute,
1471 gfc_match_omp_teams_distribute_parallel_do,
1472 gfc_match_omp_teams_distribute_parallel_do_simd,
1473 gfc_match_omp_teams_distrbute_simd): New functions.
1474 * openmp.c (resolve_omp_clauses): Adjust for
1475 OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle
1476 OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
1477 dist_chunk_size and thread_limit.
1478 (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
1479 ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various
1480 new EXEC_OMP_* codes.
1481 (resolve_omp_do): Handle various new EXEC_OMP_* codes.
1482 (gfc_resolve_omp_directive): Likewise.
1483 (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
1484 * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
1485 offloading related directives.
1486 (case_executable): Add ST_OMP_TARGET_UPDATE.
1487 (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
1489 (case_decl): Add ST_OMP_DECLARE_TARGET.
1490 (gfc_ascii_statement): Handle new ST_OMP_* codes.
1491 (parse_omp_do): Handle various new ST_OMP_* codes.
1492 (parse_executable): Likewise.
1493 * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
1495 (resolve_code): Likewise.
1496 (resolve_symbol): Change that !$OMP DECLARE TARGET variables
1498 * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
1499 * symbol.c (check_conflict): Check omp_declare_target conflicts.
1500 (gfc_add_omp_declare_target): New function.
1501 (gfc_copy_attr): Copy omp_declare_target.
1502 * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
1503 * trans-common.c (build_common_decl): Add "omp declare target"
1504 attribute if needed.
1505 * trans-decl.c (add_attributes_to_decl): Likewise.
1506 * trans.h (gfc_omp_finish_clause): New prototype.
1507 * trans-openmp.c (gfc_omp_finish_clause): New function.
1508 (gfc_trans_omp_reduction_list): Adjust for rop being renamed
1510 (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
1511 change to OMP_LIST_DEPEND and fix up depend handling.
1512 Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
1513 thread_limit, device, dist_chunk_size and dist_sched_kind.
1514 (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
1515 (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
1516 GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
1517 GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
1518 (gfc_split_omp_clauses): Handle splitting of clauses for new
1520 (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
1521 callable for combined constructs.
1522 (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
1523 (gfc_trans_omp_distribute, gfc_trans_omp_teams,
1524 gfc_trans_omp_target, gfc_trans_omp_target_data,
1525 gfc_trans_omp_target_update): New functions.
1526 (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
1527 new EXEC_OMP_* codes.
1529 2014-06-18 Tobias Burnus <burnus@net-b.de>
1532 * invoke.texi (-Wunused-parameter): Make clearer when
1533 -Wextra implies this option.
1535 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1538 * options.c (gfc_handle_option): Remove call to
1539 handle_generated_option.
1541 2014-06-17 Tobias Burnus <burnus@net-b.de>
1543 * check.c (gfc_check_atomic, gfc_check_atomic_def):
1544 Use argument for GFC_ISYM_CAF_GET.
1545 * resolve.c (resolve_variable): Enable CAF_GET insertion.
1546 (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
1547 (resolve_ordinary_assign): Enable CAF_SEND insertion.
1548 * trans-const.c (gfc_build_string_const,
1549 gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
1550 * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
1551 gfor_fndecl_caf_sendget): New global variables.
1552 (gfc_build_builtin_function_decls): Initialize them;
1553 update co_min/max/sum initialization.
1554 * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
1555 get_tree_for_caf_expr and removed static.
1556 (gfc_conv_procedure_call): Update call.
1557 * trans-intrinsic.c (caf_get_image_index,
1558 conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
1559 get_caf_token_offset, gfc_conv_intrinsic_caf_get,
1560 conv_caf_send): New.
1561 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
1562 gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
1563 (conv_co_minmaxsum): Update call for remove unused vector
1565 (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
1566 Skip a CAF_GET of the argument.
1567 * trans-types.c (gfc_get_caf_vector_type): New.
1568 * trans-types.h (gfc_get_caf_vector_type): New.
1569 * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
1570 gfor_fndecl_caf_sendget): New global variables.
1571 (gfc_get_tree_for_caf_expr): New prototypes.
1573 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
1575 * trans-common.c (build_common_decl): Use
1577 * trans-decl.c (gfc_finish_var_decl): Likewise.
1578 (get_proc_pointer_decl): Likewise.
1580 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1584 * check.c (gfc_check_system_clock): Improve checking of arguments.
1585 * intrinsic.texi: Update doc of SYSTEM_CLOCK.
1586 * iresolve.c (gfc_resolve_system_clock): Choose library function
1587 used depending on argument kinds.
1588 * trans-decl.c (gfc_build_intrinsic_function_decls): Build
1589 decls for system_clock_4 and system_clock_8.
1590 * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
1591 (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
1592 * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
1595 2014-06-12 Tobias Burnus <burnus@net-b.de>
1597 * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
1598 * symbol.c (gfc_copy_formal_args_intr): Handle the case
1599 that absent optional arguments should be ignored.
1600 * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
1601 (gfc_conv_intrinsic_funcall,
1602 conv_generic_with_optional_char_arg): Update call.
1603 * resolve.c (gfc_resolve_intrinsic): Ditto.
1605 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr>
1606 Mikael Morin <mikael@gcc.gnu.org>
1609 * trans-expr.c (gfc_conv_expr_reference): Deallocate array
1612 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1615 * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
1617 * openmp.c (resolve_omp_clauses): Remove allocatable components
1618 diagnostics. Add associate-name and intent(in) pointer
1619 diagnostics for various clauses, diagnose procedure pointers in
1621 * parse.c (match_word_omp_simd): New function.
1622 (matchs, matcho): New macros.
1623 (decode_omp_directive): Change match macros to either matchs
1624 or matcho. Handle -fopenmp-simd.
1625 (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
1626 * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
1628 * trans-array.c (get_full_array_size): Rename to...
1629 (gfc_full_array_size): ... this. No longer static.
1630 (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument
1632 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
1633 duplicate_allocatable callers.
1634 (gfc_duplicate_allocatable_nocopy): New function.
1635 (structure_alloc_comps): Adjust g*_full_array_size and
1636 duplicate_allocatable caller.
1637 * trans-array.h (gfc_full_array_size,
1638 gfc_duplicate_allocatable_nocopy): New prototypes.
1639 * trans-common.c (create_common): Call gfc_finish_decl_attrs.
1640 * trans-decl.c (gfc_finish_decl_attrs): New function.
1641 (gfc_finish_var_decl, create_function_arglist,
1642 gfc_get_fake_result_decl): Call it.
1643 (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
1644 don't allocate it again.
1645 (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
1647 * trans.h (gfc_finish_decl_attrs): New prototype.
1648 (struct lang_decl): Add scalar_allocatable and scalar_pointer
1650 (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
1651 GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
1652 GFC_DECL_ASSOCIATE_VAR_P): Define.
1653 (GFC_POINTER_TYPE_P): Remove.
1654 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
1655 GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
1656 GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
1657 (gfc_omp_predetermined_sharing): Associate-names are predetermined.
1658 (enum walk_alloc_comps): New.
1659 (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
1660 gfc_walk_alloc_comps): New functions.
1661 (gfc_omp_private_outer_ref): Return true for scalar allocatables or
1662 decls with allocatable components.
1663 (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
1664 gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
1665 allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
1666 allocatables and decls with allocatable components.
1667 (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
1669 (gfc_trans_omp_reduction_list): Call
1670 gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
1671 (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
1672 (gfc_trans_omp_parallel_do_simd): Likewise.
1673 * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
1674 (gfc_get_derived_type): Call gfc_finish_decl_attrs.
1676 2014-06-09 Paul Thomas <pault@gcc.gnu.org>
1679 * trans-stmt.c (trans_associate_var): Check that array
1680 constructors are constant for direct reference.
1682 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1685 * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
1686 BESSEL_Y0, and BESSEL_Y1.
1688 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1691 * trans-decl.c (gfc_create_module_variable): Don't create
1692 Cray-pointee decls twice.
1694 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1696 * io.c (resolve_tag): Warn on non-default kind for NUMBER,
1697 NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
1699 2014-06-06 Jakub Jelinek <jakub@redhat.com>
1701 * dump-parse-tree.c (show_omp_namelist): Dump reduction
1702 id in each list item.
1703 (show_omp_node): Only handle OMP_LIST_REDUCTION, not
1704 OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't
1705 dump reduction id here.
1706 * frontend-passes.c (dummy_code_callback): Renamed to...
1707 (gfc_dummy_code_callback): ... this. No longer static.
1708 (optimize_reduction): Use gfc_dummy_code_callback instead of
1709 dummy_code_callback.
1710 * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
1711 (symbol_attribute): Add omp_udr_artificial_var bitfield.
1712 (gfc_omp_reduction_op): New enum.
1713 (gfc_omp_namelist): Add rop and udr fields.
1714 (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
1715 OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
1716 OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
1717 OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
1718 (OMP_LIST_REDUCTION): New.
1719 (gfc_omp_udr): New type.
1720 (gfc_get_omp_udr): Define.
1721 (gfc_symtree): Add n.omp_udr field.
1722 (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
1723 (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
1724 gfc_dummy_code_callback): New prototypes.
1725 * match.h (gfc_match_omp_declare_reduction): New prototype.
1726 * module.c (MOD_VERSION): Increase to 13.
1727 (omp_declare_reduction_stmt): New array.
1728 (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
1730 (read_module): Read OpenMP user defined reductions.
1731 (write_module): Write OpenMP user defined reductions.
1732 * openmp.c: Include arith.h.
1733 (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
1734 (gfc_match_omp_clauses): Handle user defined reductions.
1735 Store reduction kind into gfc_omp_namelist instead of using
1736 several OMP_LIST_* entries.
1737 (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
1738 gfc_match_omp_declare_reduction): New functions.
1739 (resolve_omp_clauses): Adjust for reduction clauses being only
1740 in OMP_LIST_REDUCTION list. Diagnose missing UDRs.
1741 (struct omp_udr_callback_data): New type.
1742 (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
1744 * parse.c (decode_omp_directive): Handle !$omp declare reduction.
1745 (case_decl): Add ST_OMP_DECLARE_REDUCTION.
1746 (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
1747 * resolve.c (resolve_fl_variable): Allow len=: or len=* on
1748 sym->attr.omp_udr_artificial_var symbols.
1749 (resolve_types): Call gfc_resolve_omp_udrs.
1750 * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
1751 use parent ns instead of gfc_current_ns.
1752 (gfc_get_sym_tree): Don't insert symbols into
1753 namespaces with omp_udr_ns set.
1754 (free_omp_udr_tree): New function.
1755 (gfc_free_namespace): Call it.
1756 * trans-openmp.c (struct omp_udr_find_orig_data): New type.
1757 (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
1758 (gfc_trans_omp_array_reduction): Renamed to...
1759 (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM
1760 argument, instead pass gfc_omp_namelist pointer N. Handle
1761 user defined reductions.
1762 (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
1763 Handle user defined reductions and reduction ops in gfc_omp_namelist.
1764 (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
1766 (gfc_split_omp_clauses): Likewise.
1768 2014-06-05 Richard Biener <rguenther@suse.de>
1771 * gfortranspec.c (spec_file): Remove.
1772 (find_spec_file): Likewise.
1773 (lang_specific_driver): Do not look for specs file in -L
1774 or append -specs command line argument.
1775 (lang_specific_pre_link): Always %:include libgfortran.spec.
1777 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
1779 * fortran/trans.c (trans_runtime_error_vararg): Call
1780 fold_build_call_array_loc instead of fold_builtin_call_array.
1782 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
1784 * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
1785 arguments to caf_init.
1787 2014-05-26 Tobias Burnus <burnus@net-b.de>
1789 * gfortran.texi (Project Status): Fix broken link.
1791 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
1794 * intrinsics.texi (CTIME): Remove mention of locale-dependent
1797 2014-05-26 Tobias Burnus <burnus@net-b.de>
1800 * trans-io.c (nml_full_name, transfer_namelist_element): Insert
1801 a '+' rather then '%' to differentiate namelist variable names
1802 that are based on extended derived types.
1804 2014-05-25 Tobias Burnus <burnus@net-b.de>
1806 * check.c (gfc_check_num_images): New.
1807 (gfc_check_this_image): Handle distance argument.
1808 * intrinsic.c (add_functions): Update this_image and num_images
1809 for new distance and failed arguments.
1810 * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
1812 * intrinsic.h (gfc_check_num_images): New.
1813 (gfc_check_this_image, gfc_simplify_num_images,
1814 gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
1815 * iresolve.c (gfc_resolve_this_image): Handle distance argument.
1816 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
1817 Handle new arguments.
1818 * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
1819 (gfc_conv_intrinsic_function): Update trans_num_images call.
1821 2014-05-23 Tobias Burnus <burnus@net-b.de>
1823 * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
1824 * gfortran.texi: Ditto.
1826 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1828 * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1829 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1830 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1831 * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
1833 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1835 * f95-lang.c (pushlevel): Adjust.
1836 * trans-decl.c (gfc_allocate_lang_decl): Adjust.
1837 (gfc_find_module): Likewise.
1838 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1839 (gfc_get_array_type_bounds): Likewise.
1840 (gfc_nonrestricted_type): Likewise.
1841 * trans.h: Don't use variable_size gty attribute.
1843 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
1845 * check.c (gfc_check_fn_rc2008): move "argument" to the right
1848 2014-05-12 Tobias Burnus <burnus@net-b.de>
1851 * openmp.c (resolve_omp_do): Reject do concurrent loops.
1853 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1856 * frontend-passes.c (in_assoc_list): New variable.
1857 (optimize_namespace): Initialize in_assoc_list
1858 (combine_array_constructor): Don't try to combine
1860 (gfc_code_walker): Keep track of in_assoc_list.
1862 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1864 * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
1865 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1866 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1867 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1868 ST_OMP_DECLARE_SIMD.
1869 (gfc_omp_namelist): New typedef.
1870 (gfc_get_omp_namelist): Define.
1871 (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
1872 OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
1873 (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
1874 (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
1875 Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
1876 simdlen_expr fields.
1877 (gfc_omp_declare_simd): New typedef.
1878 (gfc_get_omp_declare_simd): Define.
1879 (gfc_namespace): Add omp_declare_simd field.
1880 (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1881 EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
1882 EXEC_OMP_PARALLEL_DO_SIMD.
1883 (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
1884 and GFC_OMP_ATOMIC_SWAP.
1885 (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
1886 (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
1887 gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
1889 * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
1890 * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
1891 * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
1892 simdlen_expr. Use gfc_free_omp_namelist instead of
1894 (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
1896 (gfc_match_omp_variable_list): Add end_colon, headp and
1897 allow_sections arguments. Handle parsing of array sections.
1898 Use *omp_namelist* instead of *namelist* data structure and
1899 functions/macros. Allow termination at : character.
1900 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
1901 OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
1902 OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
1903 (gfc_match_omp_clauses): Change first and needs_space variables
1904 into arguments with default values. Parse inbranch, notinbranch,
1905 proc_bind, safelen, simdlen, uniform, linear, aligned and
1907 (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
1908 (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
1909 (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
1910 (gfc_match_omp_do_simd): New function.
1911 (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
1912 data structure and functions/macros.
1913 (gfc_match_omp_simd, gfc_match_omp_declare_simd,
1914 gfc_match_omp_parallel_do_simd): New functions.
1915 (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
1916 (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
1917 gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
1919 (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
1920 Use *omp_namelist* instead of *namelist* data structure and
1921 functions/macros. Resolve uniform, aligned, linear, depend,
1922 safelen and simdlen clauses.
1923 (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
1924 addition, recognize atomic swap.
1925 (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
1926 of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
1927 EXEC_OMP_PARALLEL_DO.
1928 (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
1929 data structure and functions/macros.
1930 (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1931 EXEC_OMP_PARALLEL_DO_SIMD.
1932 (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
1933 EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
1934 resolve_omp_clauses caller.
1935 (gfc_resolve_omp_declare_simd): New function.
1936 * parse.c (decode_omp_directive): Parse cancellation point, cancel,
1937 declare simd, end do simd, end simd, end parallel do simd,
1938 end taskgroup, parallel do simd, simd and taskgroup directives.
1939 (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
1940 (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
1941 ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
1942 (case_decl): Add ST_OMP_DECLARE_SIMD.
1943 (gfc_ascii_statement): Handle ST_OMP_CANCEL,
1944 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
1945 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
1946 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
1947 ST_OMP_DECLARE_SIMD.
1948 (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
1949 ST_OMP_PARALLEL_DO_SIMD.
1950 (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
1951 (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
1952 ST_OMP_PARALLEL_DO_SIMD.
1953 (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
1954 ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
1955 * trans-decl.c (gfc_get_extern_function_decl,
1956 gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
1958 * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
1959 EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
1960 safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
1961 of depend, aligned and linear clauses.
1962 * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
1963 and EXEC_OMP_PARALLEL_DO_SIMD.
1964 (gfc_free_omp_namelist): New function.
1965 * dump-parse-tree.c (show_namelist): Removed.
1966 (show_omp_namelist): New function.
1967 (show_omp_node): Handle OpenMP 4.0 additions.
1968 (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
1969 EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
1971 * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
1972 gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
1973 gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
1974 gfc_match_omp_taskgroup): New prototypes.
1975 * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
1976 argument, handle it. Allow current_function_decl to be NULL.
1977 (gfc_trans_omp_variable_list): Add declare_simd argument, pass
1978 it through to gfc_trans_omp_variable and disregard whether
1979 sym is referenced if declare_simd is true. Work on gfc_omp_namelist
1980 instead of gfc_namelist.
1981 (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
1982 gfc_namelist. Adjust gfc_trans_omp_variable caller.
1983 (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
1984 to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
1985 instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
1986 simdlen, depend, uniform, linear, proc_bind and aligned clauses.
1988 (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
1989 adjust for GFC_OMP_ATOMIC_* changes.
1990 (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
1992 (gfc_trans_omp_do): Add op argument, handle simd translation into
1994 (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
1995 GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
1996 GFC_OMP_MASK_PARALLEL): New.
1997 (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
1998 (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
1999 (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
2001 (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
2002 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
2003 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
2004 Adjust gfc_trans_omp_do caller.
2005 (gfc_trans_omp_declare_simd): New function.
2006 * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
2007 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
2008 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
2009 For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
2011 * module.c (omp_declare_simd_clauses): New variable.
2012 (mio_omp_declare_simd): New function.
2013 (mio_symbol): Call it.
2014 * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
2015 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
2016 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
2017 * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
2018 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
2019 (resolve_code): Handle EXEC_OMP_CANCEL,
2020 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
2021 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
2022 (resolve_types): Call gfc_resolve_omp_declare_simd.
2024 2014-05-11 Tobias Burnus <burnus@net-b.de>
2026 * trans-intrinsic.c (gfc_build_builtin_function_decls):
2027 Change type of second argument to int.
2029 2014-05-09 Mike Stump <mikestump@comcast.net>
2032 * trans-array.c (gfc_conv_array_initializer): Fix wide-int
2035 2014-05-08 Tobias Burnus <burnus@net-b.de>
2037 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
2038 and GFC_ISYM_CAF_SEND.
2039 * intrinsic.c (add_functions): Add only internally
2040 accessible caf_get and caf_send functions.
2041 * resolve.c (add_caf_get_intrinsic,
2042 remove_caf_get_intrinsic): New functions.
2043 (resolve_variable): Resolve expression rank and
2044 prepare for add_caf_get_intrinsic call.
2045 (gfc_resolve_expr): For variables, remove rank
2047 (resolve_ordinary_assign): Prepare call to
2049 (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
2050 the LHS of an assignment.
2052 2014-05-08 Tobias Burnus <burnus@net-b.de>
2054 * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
2056 2014-05-08 Tobias Burnus <burnus@net-b.de>
2058 * check.c (check_co_minmaxsum, gfc_check_co_minmax,
2059 gfc_check_co_sum): New.
2060 * error.c (gfc_notify_std): Update -std=f2008ts.
2061 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
2062 GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
2063 * intrinsic.h (gfc_check_co_minmax,
2064 gfc_check_co_sum): Declare.
2065 * intrinsic.c (add_subroutines): Add co_min, co_max
2067 (gfc_check_intrinsic_standard): Update text for
2069 * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
2071 * invoke.texi (-std=f2008ts): Update wording.
2072 * trans.h (gfor_fndecl_co_max,
2073 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
2074 * trans-decl.c (gfor_fndecl_co_max,
2075 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
2076 (gfc_build_builtin_function_decls): Assign to it.
2077 * trans-intrinsic.c (conv_co_minmaxsum): New.
2078 (gfc_conv_intrinsic_subroutine): Call it.
2080 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2081 Mike Stump <mikestump@comcast.net>
2082 Richard Sandiford <rdsandiford@googlemail.com>
2084 * target-memory.c: Include wide-int.h.
2085 (gfc_interpret_logical): Use wide-int interfaces.
2086 * trans-array.c: Include wide-int.h.
2087 (gfc_conv_array_initializer): Use wide-int interfaces.
2088 * trans-const.c: Include wide-int.h.
2089 (gfc_conv_string_init): Use wide-int interfaces.
2090 (gfc_conv_mpz_to_tree): Likewise.
2091 (gfc_conv_tree_to_mpz): Likewise.
2092 * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
2093 * trans-expr.c: Include wide-int.h.
2094 (gfc_conv_cst_int_power): Use wide-int interfaces.
2095 (gfc_string_to_single_character): Likewise.
2096 (gfc_optimize_len_trim): Likewise.
2097 * trans-intrinsic.c: Include wide-int.h.
2098 (trans_this_image): Use wide-int interfaces.
2099 (gfc_conv_intrinsic_bound): Likewise.
2100 (conv_intrinsic_cobound): Likewise.
2101 * trans-types.c (gfc_init_types): Likewise.
2102 (gfc_get_array_type_bounds): Pass an integer of the correct type
2103 instead of using integer_one_node.
2105 2014-04-30 Tobias Burnus <burnus@net-b.de>
2107 * trans-decl.c (create_function_arglist): Add hidden coarray arguments
2108 also for polymorphic coarrays.
2109 * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
2110 also for polymorphic coarrays.
2112 2014-04-30 Tobias Burnus <burnus@net-b.de>
2114 * resolve.c (resolve_function): Don't do
2115 assumed-size check for lcobound/ucobound.
2116 * trans-types.c (gfc_build_array_type): Only build an array
2117 descriptor with codimensions for allocatable coarrays.
2119 2014-04-30 Tobias Burnus <burnus@net-b.de>
2121 * gfortran.h (gfc_init_coarray_decl): Remove.
2122 * parse.c (translate_all_program_units): Remove call to it.
2123 (gfc_parse_file): Update call.
2124 * trans.h (gfor_fndecl_caf_this_image,
2125 gfor_fndecl_caf_num_images): Add.
2126 (gfort_gvar_caf_num_images,
2127 gfort_gvar_caf_this_image): Remove.
2128 * trans-decl.c (gfor_fndecl_caf_this_image,
2129 gfor_fndecl_caf_num_images): Add.
2130 (gfort_gvar_caf_num_images,
2131 gfort_gvar_caf_this_image): Remove.
2132 (gfc_build_builtin_function_decls): Init new decl.
2133 (gfc_init_coarray_dec): Remove.
2134 (create_main_function): Change calls.
2135 * trans-intrinsic.c (trans_this_image, trans_image_index,
2136 conv_intrinsic_cobound): Generate call to new library function
2137 instead of to a static variable.
2138 * trans-stmt.c (gfc_trans_sync): Ditto.
2140 2014-04-30 Tobias Burnus <burnus@net-b.de>
2142 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
2143 and derived-type coarrays.
2145 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
2149 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
2150 * arith.c (gfc_int2int): Convert number to signed if
2151 arithmetic overflow is not checked.
2152 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
2153 size if range checking is in force.
2154 (convert_mpz_to_signed): Make non-static, rename to
2155 (gfc_convert_mpz_to_signed).
2156 (simplify_dshift): Use gfc_convert_mpz_to_signed.
2157 (gfc_simplify_ibclr): Likewise.
2158 (gfc_simplify_ibits): Likewise.
2159 (gfc_simplify_ibset): Likewise.
2160 (simplify_shift): Likewise.
2161 (gfc_simplify_ishiftc): Likewise.
2162 (gfc_simplify_maskr): Likewise.
2163 (gfc_simplify_maskl): Likewise.
2165 2014-04-22 Tobias Burnus <burnus@net-b.de>
2168 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
2171 2014-04-17 Jakub Jelinek <jakub@redhat.com>
2173 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
2174 argument is enum machine_mode.
2176 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
2180 * trans.h: Add 'use_offset' bitfield to gfc_se.
2181 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
2182 as a trigger to unconditionally recalculate the offset for
2183 array slices and constant arrays.
2184 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
2185 trans-stmt.c (trans_associate_var): Ditto.
2186 (gfc_conv_procedure_call): Ditto.
2188 2014-04-11 Tobias Burnus <burnus@net-b.de>
2192 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
2193 and finalization wrappers are generated.
2195 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
2197 * intrinsic.texi (RANDOM_SEED): Improve example.
2199 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
2201 * class.c (gfc_build_class_symbol): Append "_t" to target class
2202 names to make the generated type names unique.
2204 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
2207 * trans-types.c (gfc_get_function_type): In case of recursion
2208 build a variadic function type with empty argument list instead of a
2209 stdarg-like function type with incomplete argument list.
2211 2014-04-04 Tobias Burnus <burnus@net-b.de>
2213 * check.c (gfc_check_cmplx): Fix typo.
2215 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
2216 Tobias Burnus <burnus@net-b.de>
2219 * trans-expr.c (gfc_conv_derived_to_class): Avoid
2220 generation of out-of-bounds range expr.
2222 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
2225 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
2228 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
2231 * frontend-passes.c (cfe_code): Do not walk subtrees
2234 2014-03-27 Tobias Burnus <burnus@net-b.de>
2237 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
2240 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
2243 * fortran.texi: Document Volatile COMMON as not supported.
2245 2014-03-22 Jakub Jelinek <jakub@redhat.com>
2248 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
2251 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2254 * gfortran.texi: Add description of namelist DELIM= behavior.
2256 2014-03-19 Tobias Burnus <burnus@net-b.>
2259 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
2260 * resolve.c (resolve_ordinary_assign): Ditto.
2262 2014-03-19 Tobias Burnus <burnus@net-b.de>
2266 * gfortran.h (gfc_unset_implicit_pure): New prototype.
2267 * resolve.c (gfc_unset_implicit_pure): New.
2268 (resolve_structure_cons, resolve_function,
2269 pure_subroutine): Use it.
2270 * decl.c (match_old_style_init, gfc_match_data,
2271 match_pointer_init, variable_decl): Ditto.
2272 * expr.c (gfc_check_pointer_assign): Ditto.
2273 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
2274 * io.c (match_vtag, gfc_match_open, gfc_match_close,
2275 match_filepos, gfc_match_inquire, gfc_match_print,
2276 gfc_match_wait): Ditto.
2277 * match.c (gfc_match_critical, gfc_match_stopcode,
2278 lock_unlock_statement, sync_statement, gfc_match_allocate,
2279 gfc_match_deallocate): Ditto.
2280 * parse.c (decode_omp_directive): Ditto.
2281 * symbol.c (gfc_add_save): Ditto.
2283 2014-03-18 Janus Weil <janus@gcc.gnu.org>
2287 * decl.c (match_attr_spec): Revert r208590.
2289 2014-03-18 Jakub Jelinek <jakub@redhat.com>
2292 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
2295 2014-03-18 Tobias Burnus <burnus@net-b.de>
2298 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
2299 (gfc_trans_io_runtime_check): Remove.
2300 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
2301 as argument, add predictor to block.
2302 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
2303 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
2304 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
2305 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
2306 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
2308 * trans-expr.c (gfc_conv_procedure_call): Ditto.
2309 * trans-stmt.c (gfc_trans_allocate): Ditto.
2310 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
2312 2014-03-15 Janus Weil <janus@gcc.gnu.org>
2315 * decl.c (match_attr_spec): Variables in the main program implicitly
2316 get the SAVE attribute in Fortran 2008.
2318 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
2321 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
2322 if it has transposed dimensions.
2324 2014-03-08 Tobias Burnus <burnus@net-b.de>
2327 * f95-lang.c (gfc_init): Return false when only
2329 * options.c (gfc_post_options): Ditto.
2331 2014-03-08 Tobias Burnus <burnus@net-b.de>
2333 * gfortran.texi (Fortran 2003 Status): Mention finalization,
2334 deferred-length character support and input rounding.
2335 (Fortran 2008 Status): Mention that at termination
2336 signalling exceptions are shown.
2338 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
2339 Janus Weil <janus@gcc.gnu.org>
2342 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
2343 * primary.c (build_actual_constructor): It is not an error if
2344 a missing component has the deferred_parameter attribute;
2345 equally, if one is given a value, it is an error.
2346 * resolve.c (resolve_fl_derived0): Remove error for deferred
2347 character length components. Add the hidden string length
2348 field to the structure. Give it the deferred_parameter
2350 * trans-array.c (duplicate_allocatable): Add a strlen field
2351 which is used as the element size if it is non-null.
2352 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
2353 NULL to the new argument in duplicate_allocatable.
2354 (structure_alloc_comps): Set the hidden string length as
2355 appropriate. Use it in calls to duplicate_allocatable.
2356 (gfc_alloc_allocatable_for_assignment): When a deferred length
2357 backend declaration is variable, use that; otherwise use the
2358 string length from the expression evaluation.
2359 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
2360 character length component, the string length should have the
2361 value of the hidden string length field.
2362 (gfc_trans_subcomponent_assign): Set the hidden string length
2363 field for deferred character length components. Allocate the
2364 necessary memory for the string.
2365 (alloc_scalar_allocatable_for_assignment): Same change as in
2366 gfc_alloc_allocatable_for_assignment above.
2367 * trans-stmt.c (gfc_trans_allocate): Likewise.
2368 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
2369 * trans-types.c (gfc_get_derived_type): Set the tree type for
2370 a deferred character length component.
2371 * trans.c (gfc_deferred_strlen): New function.
2372 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
2374 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
2377 * frontend-passes.c (optimize_comparison): Guard two union accesses
2378 with the corresponding tag checks.
2380 2014-02-28 Janus Weil <janus@gcc.gnu.org>
2383 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
2384 procedure for characters.
2386 2014-02-21 Janus Weil <janus@gcc.gnu.org>
2389 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
2392 2014-02-21 Janus Weil <janus@gcc.gnu.org>
2395 * gfortran.h (gfc_build_class_symbol): Removed argument.
2396 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
2397 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
2398 delayed now, except for unlimited polymorphics.
2399 (comp_is_finalizable): Procedure pointer components are not finalizable.
2400 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
2401 'gfc_build_class_symbol'.
2402 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
2404 * symbol.c (gfc_set_default_type): Ditto.
2406 2014-02-19 Janus Weil <janus@gcc.gnu.org>
2409 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
2410 functions, which are used as procedure pointer target.
2412 2014-02-18 Tobias Burnus <burnus@net-b.de>
2415 * expr.c (gfc_check_pointer_assign): Add check for
2417 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
2418 decl in a corner case.
2420 2014-02-18 Janus Weil <janus@gcc.gnu.org>
2423 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
2424 arguments to prevent ICE.
2426 2014-02-17 Janus Weil <janus@gcc.gnu.org>
2429 * resolve.c (build_default_init_expr): Don't initialize character
2430 variable if -fno-automatic is given.
2432 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
2435 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
2436 number of arguments.
2438 2014-02-11 Jakub Jelinek <jakub@redhat.com>
2441 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
2442 on decl if sym->attr.optional.
2444 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
2447 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
2448 attribute for the 'associate-name' if necessary.
2449 * trans-stmt.c (trans_associate_var): If the 'associate-name'
2450 is a subref_array_pointer, assign the element size of the
2451 associate variable to 'span'.
2453 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
2456 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
2457 actual argument to a formal argument with the value attribute
2458 in an elemental procedure.
2460 2014-02-08 Janus Weil <janus@gcc.gnu.org>
2461 Mikael Morin <mikael.morin@gcc.gnu.org>
2464 * class.c (generate_finalization_wrapper): Assert that proc_tree has
2465 been set in gfc_resolve_finalizers.
2466 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
2469 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
2471 PR translation/52289
2472 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
2473 in an error message.
2475 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
2478 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
2481 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
2484 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
2485 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
2486 pointer to the string is stored.
2487 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
2488 gfc_conv_string_parameter to ensure that a pointer to is passed
2489 to the elemental function.
2491 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
2494 * trans-stmt.c (gfc_trans_allocate): Before the pointer
2495 assignment to transfer the source _vptr to a class allocate
2496 expression, the final class reference should be exposed. The
2497 tail that includes the _data and array references is stored.
2498 This reduced expression is transferred to 'lhs' and the _vptr
2499 added. Then the tail is restored to the allocate expression.
2501 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
2504 * module.c (read_module): Assert for component name correctness.
2506 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
2509 * module.c (MOD_VERSION): Bump.
2510 (fp2, find_pointer2): Remove.
2511 (mio_component_ref): Don't forcedfully set the containing derived type
2512 symbol for loading. Remove unused argument.
2513 (mio_ref): Update caller
2514 (mio_symbol): Dump component list earlier.
2515 (skip_list): New argument nest_level. Initialize level with the new
2517 (read_module): Add forced pointer components association for derived
2520 2014-01-12 Janus Weil <janus@gcc.gnu.org>
2523 * decl.c (gfc_match_data_decl): Improve error recovery.
2525 2014-01-09 Tobias Burnus <burnus@net-b.de>
2527 * cpp.c (gfc_cpp_handle_option): Add missing break.
2528 * trans-io.c (transfer_expr): Silence unused value warning.
2530 2014-01-08 Janus Weil <janus@gcc.gnu.org>
2533 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
2535 2014-01-06 Janus Weil <janus@gcc.gnu.org>
2538 * class.c (comp_is_finalizable): New function to dermine if a given
2539 component is finalizable.
2540 (finalize_component, generate_finalization_wrapper): Use it.
2542 2014-01-06 Janus Weil <janus@gcc.gnu.org>
2546 * resolve.c (resolve_global_procedure): Don't apply to c-binding
2548 (gfc_verify_binding_labels): Remove duplicate line.
2550 2014-01-04 Janus Weil <janus@gcc.gnu.org>
2553 * class.c (add_proc_comp): Copy pure attribute.
2555 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2557 Update copyright years
2559 2014-01-02 Tobias Burnus <burnus@net-b.de>
2561 * gfortranspec.c (lang_specific_driver): Update copyright notice
2563 * gfc-internals.texi: Bump @copying's copyright year.
2564 * gfortran.texi: Ditto.
2565 * intrinsic.texi: Ditto.
2566 * invoke.texi: Ditto.
2568 2014-01-02 Janus Weil <janus@gcc.gnu.org>
2571 * resolve.c (resolve_typebound_procedures): No need to create the vtab
2574 Copyright (C) 2014 Free Software Foundation, Inc.
2576 Copying and distribution of this file, with or without modification,
2577 are permitted in any medium without royalty provided the copyright
2578 notice and this notice are preserved.