12014-12-31  Tobias Burnus  <burnus@net-b.de>
2
3	* match.c (gfc_match_stopcode): Permit error stop in pure
4	procedures with F2015.
5
62014-12-31  Uros Bizjak  <ubizjak@gmail.com>
7
8	* trans-array.c (trans_array_bound_check): Use xasprintf instead
9	of unchecked asprintf.
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.
18	(set_string): Ditto.
19	* trans.c (trans-runtime_error_vararg): Ditto.
20
212014-12-29  Janus Weil  <janus@gcc.gnu.org>
22
23	PR fortran/60357
24	* array.c (check_constructor): Ignore empty expressions.
25	* expr.c (check_alloc_comp_init): Check if constructor expression
26	exists.
27	* primary.c (build_actual_constructor): Warn for absent alloc-comp
28	initializers in pre-2008 standards.
29
302014-12-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
31
32	PR fortran/56867
33	* trans-array.c (gfc_conv_resolve_dependencies):  Also check
34	dependencies when there may be substrings of character arrays.
35
362014-12-27  Janus Weil  <janus@gcc.gnu.org>
37
38	PR fortran/54756
39	* resolve.c (resolve_formal_arglist): Reject polymorphic INTENT(OUT)
40	arguments of pure procedures.
41
422014-12-22  Tobias Burnus  <burnus@net-b.de>
43
44	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get, conv_caf_send):
45	Fix vector handling.
46
472014-12-22  Janus Weil  <janus@gcc.gnu.org>
48
49	PR fortran/63363
50	* check.c (gfc_check_kind): Reject polymorphic and non-data arguments.
51
522014-12-19  Janus Weil  <janus@gcc.gnu.org>
53
54	PR fortran/64209
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.
58
592014-12-17  Janus Weil  <janus@gcc.gnu.org>
60
61	PR fortran/64173
62	* trans-array.c (structure_alloc_comps): Do not nullify procedure
63	pointer components.
64
652014-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
66
67	* trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays
68	with column major ordering.
69
702014-12-17  Tobias Burnus  <burnus@net-b.de>
71
72	PR fortran/54687
73	* gfortran.h (gfc_option_t): Remove flags which now
74	have a Var().
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):
78	Add Var() and Enum().
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.
83	* check.c: Ditto.
84	* match.c: Ditto.
85	* resolve.c: Ditto.
86	* simplify.c: Ditto.
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.
93	* trans.c: Ditto.
94
952014-12-16  Tobias Burnus  <burnus@net-b.de>
96
97	PR fortran/54687
98	* gfortran.h (gfc_option_t): Remove flags which now
99	have a Var().
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.
113	* array.c: Ditto.
114	* cpp.c: Ditto.
115	* decl.c: Ditto.
116	* expr.c: Ditto.
117	* f95-lang.c: Ditto.
118	* frontend-passes.c: Ditto.
119	* intrinsic.c: Ditto.
120	* io.c: Ditto.
121	* match.c: Ditto.
122	* module.c: Ditto.
123	* parse.c: Ditto.
124	* primary.c: Ditto.
125	* resolve.c: Ditto.
126	* scanner.c: Ditto.
127	* simplify.c: Ditto.
128	* symbol.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.
136
1372014-12-16  Tobias Burnus  <burnus@net-b.de>
138
139	PR fortran/54687
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
151	flag-name change.
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.
168
1692014-12-16  Janus Weil  <janus@gcc.gnu.org>
170
171	PR fortran/64244
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.
176
1772014-12-15  Steven Bosscher  <steven@gcc.gnu.org>
178
179	PR fortran/61669
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.
185
1862014-12-15  Janus Weil  <janus@gcc.gnu.org>
187
188	PR fortran/63727
189	* resolve.c (resolve_actual_arglist): Check for elemental procedure
190	pointer components.
191
1922014-12-15  Janus Weil  <janus@gcc.gnu.org>
193
194	PR fortran/63674
195	* resolve.c (check_pure_function): Rewording in error message.
196
1972014-12-14  Janus Weil  <janus@gcc.gnu.org>
198
199	PR fortran/63674
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
204	arguments.
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'.
209
2102014-12-13  Tobias Burnus  <burnus@net-b.de>
211	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
212
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
216	for gfc_notify_std.
217	* check.c: Ditto.
218	* data.c: Ditto.
219	* decl.c: Ditto.
220	* expr.c: Ditto.
221	* interface.c: Ditto.
222	* intrinsic.c: Ditto.
223	* io.c: Ditto.
224	* match.c: Ditto.
225	* matchexp.c: Ditto.
226	* module.c: Ditto.
227	* openmp.c: Ditto.
228	* parse.c: Ditto.
229	* primary.c: Ditto.
230	* resolve.c: Ditto.
231	* simplify.c: Ditto.
232	* symbol.c: Ditto.
233	* trans-common.c: Ditto.
234	* trans-intrinsic.c: Ditto.
235
2362014-12-11  Richard Biener  <rguenther@suse.de>
237
238	PR tree-optimization/42108
239	* trans-stmt.c (gfc_trans_do): Execute the division computing
240	countm1 before the loop entry check.
241
2422014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
243
244	PR fortran/44054
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
250	buffered_p flag.
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.
256	(gfc_error): New.
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.
268
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
272	locations.
273	* Use %qs instead of '%s' for many gfc_error calls.
274
2752014-12-11  Tobias Burnus  <burnus@net-b.de>
276	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
277
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
284	width is set.
285
2862014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
287
288	PR fortran/60718
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.
292
2932014-12-06  Tobias Burnus  <burnus@net-b.de>
294
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.
300
3012014-12-06  Tobias Burnus  <burnus@net-b.de>
302	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
303
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
311	prototype.
312	* parse.c (use_modules, decode_specification_statement,
313	next_fixed, next_statement, match_deferred_characteristics):
314	Update calls.
315	* decl.c (gfc_match_data_decl): Ditto.
316	* match.c (gfc_match_name): Ditto.
317
3182014-12-05  Andre Vehreschild  <vehre@gmx.de>
319
320	PR fortran/60414
321	* interface.c (compare_parameter): Remove class argument rank
322	check short circuit.
323
3242014-12-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
325
326	* error.c (gfc_diagnostic_build_locus_prefix): Use
327	diagnostic_expand_location.
328
3292014-12-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
330
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
334	the line.
335
3362014-12-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
337
338	PR fortran/44054
339	* gfortran.h (gfc_warning): Now returns bool. Add overload that
340	accepts opt.
341	(gfc_warning_1): Declare.
342	* error.c
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
352	and werror counters.
353	(gfc_diagnostics_init): Init pp_warning_buffer.
354
355	* Update all gfc_warning calls that do not use multiple
356	locations to use %qs and OPT_W*, otherwise use gfc_warning_1.
357
3582014-12-02  Tobias Burnus  <burnus@net-b.de>
359	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
360
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.
366
3672014-12-02  Richard Biener  <rguenther@suse.de>
368
369	PR fortran/64137
370	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Check
371	proper expressions type, use proper type for computing
372	-Huge - 1.
373
3742014-11-29  Jakub Jelinek  <jakub@redhat.com>
375
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.
379
3802014-11-29  Tobias Burnus  <burnus@net-b.de>
381
382	* scanner.c (skip_free_comments, gfc_gobble_whitespace): Use
383	gfc_warning_now instead of ..._now_1.
384
3852014-11-29  Tobias Burnus  <burnus@net-b.de>
386	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
387
388	* lang.opt (Wtabs): Combine duplicated item into a single
389	one using || for LangEnabledBy.
390
3912014-11-25  Tobias Burnus  <burnus@net-b.de>
392
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
399	of internal error.
400	* trans-array.c (gfc_walk_subexpr): Replace internal_error by
401	gfc_internal_error.
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.
408
4092014-11-25  Tobias Burnus  <burnus@net-b.de>
410
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
424	diagnostic function.
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):
436	Ditto.
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):
441	Ditto.
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.
447
4482014-11-24  Jakub Jelinek  <jakub@redhat.com>
449
450	PR fortran/63938
451	* trans-openmp.c (gfc_trans_omp_atomic): Make sure lhsaddr is
452	simple enough for goa_lhs_expr_p.
453
4542014-11-24  Tobias Burnus  <burnus@net-b.de>
455
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
459	gfc_fatal_error.
460	* match.c (gfc_match_name): Ditto.
461	* trans-array.c (gfc_conv_array_initializer): Ditto.
462	* trans-stmt.c (gfc_trans_sync): Ditto.
463
4642014-11-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
465
466	PR fortran/44054
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.
477
4782014-11-23  Tobias Burnus  <burnus@net-b.de>
479
480	* invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that
481	-Wtabs enables the warning.
482
4832014-11-23  Tobias Burnus  <burnus@net-b.de>
484
485	* error.c (gfc_diagnostic_build_prefix): Correct coloring
486	of the colon of the prefix.
487
4882014-11-23  Tobias Burnus  <burnus@net-b.de>
489	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
490
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.
500
5012014-11-22  Tobias Burnus  <burnus@net-b.de>
502
503	* trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
504
5052014-11-15  Tobias Burnus  <burnus@net-b.de>
506
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
510	%< %>.
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
521	%s to %qs.
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.
530
5312014-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>
535
536	* Make-lang.in (fortran.install-common): Do not install for the offload
537	compiler.
538
5392014-11-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
540
541	PR fortran/44054
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
547	char.
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.
558
5592014-11-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
560
561	PR fortran/63701
562	* trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.
563
5642014-11-10  Janne Blomqvist  <jb@gcc.gnu.org>
565
566	PR libfortran/47007
567	PR libfortran/61847
568	* gfortran.texi: Add note about locale issues to thread-safety
569	section.
570
5712014-11-04  Bernd Schmidt  <bernds@codesourcery.com>
572
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.
576
5772014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
578
579	* trans-types.c, trans-types.h: Remove redundant enum from
580	machine_mode.
581
5822014-10-28  Manuel López-Ibáñez  <manu@gcc.gnu.org>
583
584	PR fortran/44054
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.
595
5962014-10-28  Andrew MacLeod  <amacleod@redhat.com>
597
598	* f95-lang.c: Adjust include files.
599	* trans-decl.c: Ditto.
600
6012014-10-24  Tobias Burnus  <burnus@net-b.de>
602
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.
615
6162014-10-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
617
618	PR fortran/48979
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
622	values.
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.
628
6292014-10-18  Paul Thomas  <pault@gcc.gnu.org>
630
631	PR fortran/63553
632	* resolve.c (resolve_ordinary_assign): Add data component to
633	rvalue expression for class to type assignment.
634
6352014-10-16  Andrew MacLeod  <amacleod@redhat.com>
636
637	* f95-lang.c: Adjust include files.
638	* trans-decl.c: Likewise.
639
6402014-10-12  Trevor Saunders  <tsaunders@mozilla.com>
641
642	* trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
643
6442014-10-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
645
646	PR fortran/48979
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.
655
6562014-10-10  Jakub Jelinek  <jakub@redhat.com>
657
658	PR fortran/59488
659	* trans-openmp.c (gfc_omp_predetermined_sharing): Return
660	OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
661
6622014-10-10  Tobias Burnus  <burnus@net-b.de>
663
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 ";".
670
6712014-10-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
672
673	* f95-lang.c (gfc_init_builtin_functions): Add more floating-point
674	built-ins.
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
678	trans-intrinsic.c
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):
688	New functions.
689	* trans.h (gfc_conv_ieee_arithmetic_function,
690	gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
691
6922014-10-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
693
694	PR fortran/44054
695	PR fortran/54687
696	* gfortran.h (gfc_warning_cmdline): Add overload that takes an
697	option.
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.
707
7082014-10-06  Tobias Burnus  <burnus@net-b.de>
709
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
716	error check.
717	* parse.c (accept_statement): Remove call.
718	(verify_st_order): Permit that external-implict-none follows
719	implicit statement.
720	* symbol.c (gfc_set_implicit_none): Handle external/type
721	implicit none.
722
7232014-10-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
724
725	PR fortran/36534
726	* resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
727
7282014-09-25  Tobias Burnus  <burnus@net-b.de>
729
730	* check.c (check_co_collective): Renamed from check_co_minmaxsum,
731	handle co_reduce.
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
735	GFC_ISYM_CO_REDUCE.
736	* intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
737	* intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
738	proto types.
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.
746
7472014-09-23  Jakub Jelinek  <jakub@redhat.com>
748
749	PR fortran/63331
750	* trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
751	instead of VAR_DECL for base_decl.
752
7532014-09-21  Jan Hubicka  <hubicka@ucw.cz>
754
755	* openmp.c (omp_context): Rename to ...
756	(fortran_omp_context): ... this one.
757
7582014-09-21  Dominique d'Humieres <dominiq@lps.ens.fr>
759
760	* resolve.c (resolve_fl_procedure): Remove duplicated lines.
761
7622014-09-20  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
763	    Tobias Burnus  <burnus@net-b.de>
764
765	* trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
766	generating temporary for value argument.
767
7682014-09-20  Joost VandeVondele  <vondele@gcc.gnu.org>
769
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.
825
8262014-09-19  Joost VandeVondele  <vondele@gcc.gnu.org>
827
828	PR fortran/63152
829	* trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
830
8312014-09-15  Jakub Jelinek  <jakub@redhat.com>
832
833	* Make-lang.in (check_gfortran_parallelize): Change to just an upper
834	bound number.
835
8362014-09-13  Tobias Burnus  <burnus@net-b.de>
837
838	PR fortran/63252
839	* trans-decl.c (gfc_build_builtin_function_decls): Fix
840	caf_unlock declaration.
841
8422014-09-12  Joseph Myers  <joseph@codesourcery.com>
843
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.
847
8482014-09-05  Joost VandeVondele  <vondele@gcc.gnu.org>
849
850	PR fortran/62245
851	* intrinsic.texi (INT): clarify result.
852
8532014-09-03  Fritz Reese  <Reese-Fritz@zai.com>
854
855	PR fortran/62174
856	* decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
857	when matching a component declaration.
858
8592014-09-02  Marek Polacek  <polacek@redhat.com>
860
861	PR fortran/62270
862	* interface.c (compare_parameter): Fix condition.
863	* trans-expr.c (gfc_conv_procedure_call): Likewise.
864
8652014-08-31  Fritz Reese  <Reese-Fritz@zai.com>
866
867	PR fortran/62309
868	* resolve.c (apply_default_init_local): Don't treat variables
869	in RECURSIVE procedures as saved.
870
8712014-08-31  Tobias Burnus  <burnus@net-b.de>
872
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.
880
8812014-08-30  Tobias Burnus  <burnus@net-b.de>
882
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
888	with early return.
889	* trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
890	Moved to trans-expr.
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.
894
8952014-08-30  Tobias Burnus  <burnus@net-b.de>
896
897	PR fortran/62278
898	PR fortran/44735
899	PR fortran/60593
900	* dependency.c (gfc_check_dependency): Allow for optimizations
901	in the pointer-alias check.
902
9032014-08-30  Janne Blomqvist  <jb@gcc.gnu.org>
904
905	* module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
906	unlink().
907
9082014-08-29  Jeffrey Armstrong  <jeffrey.armstrong@approximatrix.com>
909
910	PR fortran/62215
911	* module.c (gfc_dump_module): Unlink old module file before
912	renaming new one.
913
9142014-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
915
916	* frontend_passes (expr_array):  Replace by vec template.
917	(expr_size):  Remove.
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.
925
9262014-08-22  Steven Bosscher  <steven@gcc.gnu.org>
927
928	PR fortran/62135
929	* resolve.c (resolve_select): Fix list traversal in case the
930	last element of the CASE list was dropped as unreachable code.
931
9322014-08-22  Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
933
934	PR fortran/61234
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.
940
9412014-08-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
942
943	PR fortran/62214
944	* frontend-passes.c (optimize_binop_array_assignment):
945	Do not try to optimize the array assignment for string
946	concatenation.
947
9482014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
949
950	PR fortran/44054
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.
954
9552014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
956
957	PR fortran/44054
958	* error.c (gfc_diagnostic_finalizer): Call default finalizer.
959
9602014-08-20  Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
961
962	* options.c (gfc_init_options_struct): assert that the frontend sets
963	flag_errno_math and flag_associative_math.
964
9652014-08-17  Tobias Burnus  <burnus@net-b.de>
966
967	* resolve.c (gfc_resolve_finalizers): Ensure that parents are
968	resolved first.
969
9702014-08-17  Tobias Burnus  <burnus@net-b.de>
971
972	* trans-io.c (gfc_build_io_library_fndecls): Fix decl of
973	IOCALL_SET_NML_VAL.
974	(transfer_namelist_element): Use proper int type as argument.
975
9762014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
977
978	PR fortran/62142
979	* trans-expr.c (is_runtime_conformable):  Add NULL pointer checks.
980
9812014-08-15  Tobias Burnus  <burnus@net-b.de>
982
983	* resolve.c (resolve_critical): Fix name mangling.
984	* trans-stmt.c (gfc_trans_critical): Fix lock call.
985
9862014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
987
988	PR fortran/44054
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.
995	* trans.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.
1010
10112014-08-15  Jakub Jelinek  <jakub@redhat.com>
1012	    Tobias Burnus  <burnus@net-b.de>
1013
1014	PR fortran/62131
1015	* openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
1016	is allocatable, rather than whenever var->attr.allocatable.
1017
10182014-08-15  Jakub Jelinek  <jakub@redhat.com>
1019
1020	PR fortran/62107
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.
1024
10252014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1026
1027	PR fortran/62106
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
1033	for constants.
1034
10352014-08-14  Tobias Burnus  <burnus@net-b.de>
1036
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
1048	critical variables.
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.
1055
10562014-08-14  Tobias Burnus  <burnus@net-b.de>
1057
1058	* gfortran.texi (Coarray Programming): Add first ABI
1059	documentation.
1060
10612014-08-14  Jakub Jelinek  <jakub@redhat.com>
1062
1063	PR fortran/62076
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
1067	string.
1068	(gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
1069	before calling gfc_free_omp_udr.
1070
10712014-08-11  Richard Biener  <rguenther@suse.de>
1072
1073	PR fortran/61950
1074	* trans-expr.c (gfc_conv_structure): Initialize _size with
1075	a value of proper type.
1076
10772014-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
1078
1079	PR fortran/61999
1080	* simplify.c (gfc_simplify_dot_product): Convert types of
1081	vectors before calculating the result.
1082
10832014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
1084
1085	* openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
1086
10872014-07-26  Tobias Burnus  <burnus@net-b.de>
1088
1089	PR fortran/61881
1090	PR fortran/61888
1091	PR fortran/57305
1092	* intrinsic.texi (SIZEOF): Document changed behavior
1093	for polymorphic arrays.
1094
10952014-07-26  Tobias Burnus  <burnus@net-b.de>
1096
1097	PR fortran/61881
1098	PR fortran/61888
1099	PR fortran/57305
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
1107	rank.
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.
1111
11122014-07-25  Tobias Burnus  <burnus@net-b.de>
1113
1114	* simplify.c (gfc_simplify_storage_size): Use proper
1115	integer kind for the returned value.
1116
11172014-07-24  Uros Bizjak  <ubizjak@gmail.com>
1118
1119	* intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
1120	correct menu position to match sectioning.
1121
11222014-06-15  Tobias Burnus  <burnus@net-b.de>
1123
1124	* symbol.c (check_conflict): Add codimension conflict with
1125	pointer; fix cray-pointee check.
1126
11272014-06-14  Tobias Burnus  <burnus@net-b.de>
1128
1129	* trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
1130	for kind mismatch with -fcoarray=lib.
1131
11322014-07-12  Paul Thomas  <pault@gcc.gnu.org>
1133
1134	PR fortran/61780
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.
1138
11392014-07-12  Tobias Burnus  <burnus@net-b.de>
1140
1141	PR fortran/61628
1142	* trans-types.c (gfc_init_types): Fix data-type bug
1143	with gfc_max_array_element_size.
1144
11452014-07-12  Tobias Burnus  <burnus@net-b.de>
1146
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.
1158
11592014-07-12  Tobias Burnus  <burnus@net-b.de>
1160
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
1175	prototypes.
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.
1183
11842014-07-09  Bernd Schmidt  <bernds@codesourcery.com>
1185
1186	* trans-array.c (gfc_build_constant_array_constructor): Build a
1187	static decl manually.
1188	* trans-decl.c (create_main_function): Likewise.
1189
11902014-07-07  Paul Thomas  <pault@gcc.gnu.org>
1191
1192	PR fortran/61459
1193	PR fortran/58883
1194	* trans-expr.c (fcncall_realloc_result): Use the natural type
1195	for the address expression of 'res_desc'.
1196
11972014-07-07  Gerald Pfeifer  <gerald@pfeifer.com>
1198
1199	* gfortran.texi (Fortran 2003 status): Fix grammar.
1200
12012014-07-04  Tobias Burnus  <burnus@net-b.de>
1202
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
1212	the correct dtype.
1213	* trans-types.h (gfc_get_dtype_rank_type): New.
1214	* trans-types.c (gfc_get_dtype_rank_type): Ditto.
1215
12162014-07-03  Tobias Burnus  <burnus@net-b.de>
1217
1218	* scanner.c (skip_free_comments): Fix indentation.
1219
12202014-07-02  Jakub Jelinek  <jakub@redhat.com>
1221	    Fritz Reese  <Reese-Fritz@zai.com>
1222
1223	* decl.c (variable_decl): Reject old style initialization
1224	for derived type components.
1225
12262014-06-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1227
1228	PR fortran/36275
1229	PR fortran/38839
1230	* decl.c (check_bind_name_identifier): New function.
1231	(gfc_match_bind_c): Match any constant expression as binding
1232	label.
1233	* match.c (gfc_match_name_C): Remove.
1234
12352014-06-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1236
1237	PR fortran/29383
1238	* gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
1239	* libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
1240	both C and Fortran.
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
1244	intrinsic modules.
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.
1255
12562014-06-25  Tobias Burnus  <burnus@net-b.de>
1257
1258	* interface.c (check_intents): Fix diagnostic with
1259	coindexed coarrays.
1260
12612014-06-25  Tobias Burnus  <burnus@net-b.de>
1262
1263	* resolve.c (resolve_ordinary_assign): Don't invoke caf_send
1264	when assigning a coindexed RHS scalar to a noncoindexed LHS
1265	array.
1266	* trans-intrinsic.c (conv_caf_send): Do numeric type conversion
1267	for a noncoindexed scalar RHS.
1268
12692014-06-25  Tobias Burnus  <burnus@net-b.de>
1270
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
1274	arguments.
1275	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
1276	temporary strings.
1277
12782014-06-25  Jakub Jelinek  <jakub@redhat.com>
1279
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.
1286
12872014-06-24  Jakub Jelinek  <jakub@redhat.com>
1288
1289	* dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
1290	of n->udr.
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
1309	here.
1310	(omp_udr_callback): Don't check for implicitly declared functions
1311	here.
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):
1319	Adjust callers.
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.
1328
13292014-06-23  Tobias Burnus  <burnus@net-b.de>
1330
1331	* trans-decl.c (gfc_trans_deferred_vars): Fix handling of
1332	explicit-size arrays with -fcoarray=lib.
1333
13342014-06-20  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1335
1336	PR fortran/33363
1337	* invoke.texi: Don't mention nonexisting -fcase-lower option.
1338
13392014-06-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1340
1341	PR fortran/61454
1342	* expr.c (scalarize_intrinsic_call): Take care of optional
1343	arguments.
1344
13452014-06-19  Tobias Burnus  <burnus@net-b.de>
1346
1347	* trans-intrinsic.c (conv_co_minmaxsum): Fix argument
1348	passing.
1349
13502014-06-18  Tobias Burnus  <burnus@net-b.de>
1351
1352	* gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
1353	* intrinsic.texi (OpenMP Modules): Ditto.
1354
13552014-06-18  Jakub Jelinek  <jakub@redhat.com>
1356
1357	* cpp.c (cpp_define_builtins): Change _OPENMP macro to
1358	201307.
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
1366	function.
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*,
1488	ST_OMP_DISTRIBUTE*.
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_*
1494	codes.
1495	(resolve_code): Likewise.
1496	(resolve_symbol): Change that !$OMP DECLARE TARGET variables
1497	are saved.
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
1509	to u.reduction_op.
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
1519	EXEC_OMP_* codes.
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.
1528
15292014-06-18  Tobias Burnus  <burnus@net-b.de>
1530
1531	PR fortran/61126
1532	* invoke.texi (-Wunused-parameter): Make clearer when
1533	-Wextra implies this option.
1534
15352014-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1536
1537	PR fortran/61126
1538	* options.c (gfc_handle_option): Remove call to
1539	handle_generated_option.
1540
15412014-06-17  Tobias Burnus  <burnus@net-b.de>
1542
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
1564	subscript.
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.
1572
15732014-06-15  Jan Hubicka  <hubicka@ucw.cz>
1574
1575	* trans-common.c (build_common_decl): Use
1576	set_decl_tls_model.
1577	* trans-decl.c (gfc_finish_var_decl): Likewise.
1578	(get_proc_pointer_decl): Likewise.
1579
15802014-06-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1581
1582	PR fortran/28484
1583	PR fortran/61429
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):
1593	New variables.
1594
15952014-06-12  Tobias Burnus  <burnus@net-b.de>
1596
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.
1604
16052014-06-10  Dominique d'Humieres <dominiq@lps.ens.fr>
1606	    Mikael Morin <mikael@gcc.gnu.org>
1607
1608	PR fortran/41936
1609	* trans-expr.c (gfc_conv_expr_reference): Deallocate array
1610	components.
1611
16122014-06-10  Jakub Jelinek  <jakub@redhat.com>
1613
1614	PR fortran/60928
1615	* f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
1616	like -fopenmp.
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
1620	reduction clause.
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):
1627	Likewise.
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
1631	and handle it.
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
1646	associate-names.
1647	* trans.h (gfc_finish_decl_attrs): New prototype.
1648	(struct lang_decl): Add scalar_allocatable and scalar_pointer
1649	bitfields.
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
1668	arrays here.
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.
1675
16762014-06-09  Paul Thomas  <pault@gcc.gnu.org>
1677
1678	PR fortran/61406
1679	* trans-stmt.c (trans_associate_var): Check that array
1680	constructors are constant for direct reference.
1681
16822014-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1683
1684	PR fortran/36096
1685	* intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
1686	BESSEL_Y0, and BESSEL_Y1.
1687
16882014-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1689
1690	PR fortran/45187
1691	* trans-decl.c (gfc_create_module_variable): Don't create
1692	Cray-pointee decls twice.
1693
16942014-06-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1695
1696	* io.c (resolve_tag): Warn on non-default kind for NUMBER,
1697	NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
1698
16992014-06-06  Jakub Jelinek  <jakub@redhat.com>
1700
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):
1729	New functions.
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
1743	functions.
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
1765	list.
1766	(gfc_split_omp_clauses): Likewise.
1767
17682014-06-05  Richard Biener  <rguenther@suse.de>
1769
1770	PR fortran/61418
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.
1776
17772014-06-02  Andrew MacLeod  <amacleod@redhat.com>
1778
1779	* fortran/trans.c (trans_runtime_error_vararg): Call
1780	fold_build_call_array_loc instead of fold_builtin_call_array.
1781
17822014-06-02  Bernd Schmidt  <bernds@codesourcery.com>
1783
1784	* trans-decl.c (gfc_build_builtin_function_decls): Correct number of
1785	arguments to caf_init.
1786
17872014-05-26  Tobias Burnus  <burnus@net-b.de>
1788
1789	* gfortran.texi (Project Status): Fix broken link.
1790
17912014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
1792
1793	PR libfortran/61310
1794	* intrinsics.texi (CTIME): Remove mention of locale-dependent
1795	behavior.
1796
17972014-05-26  Tobias Burnus  <burnus@net-b.de>
1798
1799	PR fortran/55117
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.
1803
18042014-05-25  Tobias Burnus  <burnus@net-b.de>
1805
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
1811	arguments.
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.
1820
18212014-05-23  Tobias Burnus  <burnus@net-b.de>
1822
1823	* gfc-internals.texi: Change URLs to HTTPS; fix broken links.
1824	* gfortran.texi: Ditto.
1825
18262014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
1827
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_*.
1832
18332014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
1834
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.
1842
18432014-05-17  Dominique d'Humieres <dominiq@lps.ens.fr>
1844
1845	* check.c (gfc_check_fn_rc2008): move "argument" to the right
1846	place.
1847
18482014-05-12  Tobias Burnus  <burnus@net-b.de>
1849
1850	PR fortran/60127
1851	* openmp.c (resolve_omp_do): Reject do concurrent loops.
1852
18532014-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
1854
1855	PR fortran/60834
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
1859	assoc lists.
1860	(gfc_code_walker):  Keep track of in_assoc_list.
1861
18622014-05-11  Jakub Jelinek  <jakub@redhat.com>
1863
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
1888	prototypes.
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
1893	gfc_free_namelist.
1894	(gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
1895	functions.
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
1906	depend clauses.
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
1918	functions.
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
1957	needed.
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
1970	EXEC_OMP_TASKGROUP.
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.
1987	Handle cancel kind.
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
1991	functions.
1992	(gfc_trans_omp_do): Add op argument, handle simd translation into
1993	generic.
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
2000	functions.
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
2010	gfc_free_namelist.
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.
2023
20242014-05-11  Tobias Burnus  <burnus@net-b.de>
2025
2026	* trans-intrinsic.c (gfc_build_builtin_function_decls):
2027	Change type of second argument to int.
2028
20292014-05-09  Mike Stump  <mikestump@comcast.net>
2030
2031	PR fortran/61109
2032	* trans-array.c (gfc_conv_array_initializer): Fix wide-int
2033	conversion bug.
2034
20352014-05-08  Tobias Burnus  <burnus@net-b.de>
2036
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
2046	resolution.
2047	(resolve_ordinary_assign): Prepare call to
2048	GFC_ISYM_CAF_SEND.
2049	(resolve_code): Avoid call to GFC_ISYM_CAF_GET for
2050	the LHS of an assignment.
2051
20522014-05-08  Tobias Burnus  <burnus@net-b.de>
2053
2054	* trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
2055
20562014-05-08  Tobias Burnus  <burnus@net-b.de>
2057
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
2066	and co_sum.
2067	(gfc_check_intrinsic_standard): Update text for
2068	-std=f2008ts.
2069	* intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
2070	them.
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.
2079
20802014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
2081	    Mike Stump  <mikestump@comcast.net>
2082	    Richard Sandiford  <rdsandiford@googlemail.com>
2083
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.
2104
21052014-04-30  Tobias Burnus  <burnus@net-b.de>
2106
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.
2111
21122014-04-30  Tobias Burnus  <burnus@net-b.de>
2113
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.
2118
21192014-04-30  Tobias Burnus  <burnus@net-b.de>
2120
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.
2139
21402014-04-30  Tobias Burnus  <burnus@net-b.de>
2141
2142	* trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
2143	and derived-type coarrays.
2144
21452014-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
2146
2147	PR fortran/59604
2148	PR fortran/58003
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.
2164
21652014-04-22  Tobias Burnus  <burnus@net-b.de>
2166
2167	PR fortran/60881
2168	* trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
2169	of scalar coarrays.
2170
21712014-04-17  Jakub Jelinek  <jakub@redhat.com>
2172
2173	* trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
2174	argument is enum machine_mode.
2175
21762014-04-13  Paul Thomas  <pault@gcc.gnu.org>
2177
2178	PR fortran/58085
2179	PR fortran/60717
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.
2187
21882014-04-11  Tobias Burnus  <burnus@net-b.de>
2189
2190	PR fortran/58880
2191	PR fortran/60495
2192	* resolve.c (gfc_resolve_finalizers): Ensure that vtables
2193	and finalization wrappers are generated.
2194
21952014-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
2196
2197	* intrinsic.texi (RANDOM_SEED): Improve example.
2198
21992014-04-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2200
2201	* class.c (gfc_build_class_symbol): Append "_t" to target class
2202	names to make the generated type names unique.
2203
22042014-04-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2205
2206	PR fortran/60191
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.
2210
22112014-04-04  Tobias Burnus  <burnus@net-b.de>
2212
2213	* check.c (gfc_check_cmplx): Fix typo.
2214
22152014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
2216	    Tobias Burnus  <burnus@net-b.de>
2217
2218	PR fortran/60576
2219	* trans-expr.c (gfc_conv_derived_to_class): Avoid
2220	generation of out-of-bounds range expr.
2221
22222014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
2223
2224	PR fortran/60677
2225	* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
2226	list buffer.
2227
22282014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
2229
2230	PR fortran/60522
2231	* frontend-passes.c (cfe_code):  Do not walk subtrees
2232	for WHERE.
2233
22342014-03-27  Tobias Burnus  <burnus@net-b.de>
2235
2236	PR fortran/58880
2237	* trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
2238	of nonpointers.
2239
22402014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
2241
2242	PR fortran/34928
2243	* fortran.texi: Document Volatile COMMON as not supported.
2244
22452014-03-22  Jakub Jelinek  <jakub@redhat.com>
2246
2247	PR debug/60603
2248	* cpp.c (gfc_cpp_init): Restore cb_change_file call to
2249	<built-in>.
2250
22512014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2252
2253	PR fortran/60148
2254	* gfortran.texi: Add description of namelist DELIM= behavior.
2255
22562014-03-19  Tobias Burnus  <burnus@net-b.>
2257
2258	PR fortran/60543
2259	* io.c (check_io_constraints): Use gfc_unset_implicit_pure.
2260	* resolve.c (resolve_ordinary_assign): Ditto.
2261
22622014-03-19  Tobias Burnus  <burnus@net-b.de>
2263
2264	PR fortran/60543
2265	PR fortran/60283
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.
2282
22832014-03-18  Janus Weil  <janus@gcc.gnu.org>
2284
2285	PR fortran/55207
2286	PR fortran/60549
2287	* decl.c (match_attr_spec): Revert r208590.
2288
22892014-03-18  Jakub Jelinek  <jakub@redhat.com>
2290
2291	PR ipa/58721
2292	* trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
2293	if !optimize.
2294
22952014-03-18  Tobias Burnus  <burnus@net-b.de>
2296
2297	PR ipa/58721
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
2307	branch predictor.
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.
2311
23122014-03-15  Janus Weil  <janus@gcc.gnu.org>
2313
2314	PR fortran/55207
2315	* decl.c (match_attr_spec): Variables in the main program implicitly
2316	get the SAVE attribute in Fortran 2008.
2317
23182014-03-14  Mikael Morin  <mikael@gcc.gnu.org>
2319
2320	PR fortran/60392
2321	* trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
2322	if it has transposed dimensions.
2323
23242014-03-08  Tobias Burnus  <burnus@net-b.de>
2325
2326	PR fortran/60447
2327	* f95-lang.c (gfc_init): Return false when only
2328	preprocessing.
2329	* options.c (gfc_post_options): Ditto.
2330
23312014-03-08  Tobias Burnus  <burnus@net-b.de>
2332
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.
2337
23382014-03-06  Paul Thomas  <pault@gcc.gnu.org>
2339	    Janus Weil  <janus@gcc.gnu.org>
2340
2341	PR fortran/51976
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
2349	attribute.
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.
2373
23742014-03-01  Mikael Morin  <mikael@gcc.gnu.org>
2375
2376	PR fortran/60341
2377	* frontend-passes.c (optimize_comparison): Guard two union accesses
2378	with the corresponding tag checks.
2379
23802014-02-28  Janus Weil  <janus@gcc.gnu.org>
2381
2382	PR fortran/60359
2383	* class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
2384	procedure for characters.
2385
23862014-02-21  Janus Weil  <janus@gcc.gnu.org>
2387
2388	PR fortran/60302
2389	* check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
2390	is successful.
2391
23922014-02-21  Janus Weil  <janus@gcc.gnu.org>
2393
2394	PR fortran/60234
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):
2403	Ditto.
2404	* symbol.c (gfc_set_default_type): Ditto.
2405
24062014-02-19  Janus Weil  <janus@gcc.gnu.org>
2407
2408	PR fortran/60232
2409	* expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
2410	functions, which are used as procedure pointer target.
2411
24122014-02-18  Tobias Burnus  <burnus@net-b.de>
2413
2414	PR fortran/49397
2415	* expr.c (gfc_check_pointer_assign): Add check for
2416	F2008Cor2, C729.
2417	* trans-decl.c (gfc_get_symbol_decl): Correctly generate external
2418	decl in a corner case.
2419
24202014-02-18  Janus Weil  <janus@gcc.gnu.org>
2421
2422	PR fortran/60231
2423	* resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
2424	arguments to prevent ICE.
2425
24262014-02-17  Janus Weil  <janus@gcc.gnu.org>
2427
2428	PR fortran/55907
2429	* resolve.c (build_default_init_expr): Don't initialize character
2430	variable if -fno-automatic is given.
2431
24322014-02-15  Mikael Morin  <mikael@gcc.gnu.org>
2433
2434	PR fortran/59599
2435	* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
2436	number of arguments.
2437
24382014-02-11  Jakub Jelinek  <jakub@redhat.com>
2439
2440	PR fortran/52370
2441	* trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
2442	on decl if sym->attr.optional.
2443
24442014-02-09  Paul Thomas  <pault@gcc.gnu.org>
2445
2446	PR fortran/57522
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'.
2452
24532014-02-09  Paul Thomas  <pault@gcc.gnu.org>
2454
2455	PR fortran/59026
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.
2459
24602014-02-08  Janus Weil  <janus@gcc.gnu.org>
2461	    Mikael Morin <mikael.morin@gcc.gnu.org>
2462
2463	PR fortran/58470
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
2467	gfc_is_finalizable.
2468
24692014-02-07  Benno Schulenberg  <bensberg@justemail.net>
2470
2471	PR translation/52289
2472	* fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
2473	in an error message.
2474
24752014-02-02  Mikael Morin  <mikael@gcc.gnu.org>
2476
2477	PR fortran/57033
2478	* primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
2479	dereference.
2480
24812014-02-01  Paul Thomas  <pault@gcc.gnu.org>
2482
2483	PR fortran/59906
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.
2490
24912014-01-28  Paul Thomas  <pault@gcc.gnu.org>
2492
2493	PR fortran/59414
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.
2500
25012014-01-26  Mikael Morin  <mikael@gcc.gnu.org>
2502
2503	PR fortran/58007
2504	* module.c (read_module): Assert for component name correctness.
2505
25062014-01-18  Mikael Morin  <mikael@gcc.gnu.org>
2507
2508	PR fortran/58007
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
2516	argument.
2517	(read_module): Add forced pointer components association for derived
2518	type symbols.
2519
25202014-01-12  Janus Weil  <janus@gcc.gnu.org>
2521
2522	PR fortran/58026
2523	* decl.c (gfc_match_data_decl): Improve error recovery.
2524
25252014-01-09  Tobias Burnus  <burnus@net-b.de>
2526
2527	* cpp.c (gfc_cpp_handle_option): Add missing break.
2528	* trans-io.c (transfer_expr): Silence unused value warning.
2529
25302014-01-08  Janus Weil  <janus@gcc.gnu.org>
2531
2532	PR fortran/58182
2533	* resolve.c (gfc_verify_binding_labels): Modify order of checks.
2534
25352014-01-06  Janus Weil  <janus@gcc.gnu.org>
2536
2537	PR fortran/59589
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.
2541
25422014-01-06  Janus Weil  <janus@gcc.gnu.org>
2543
2544	PR fortran/59023
2545	PR fortran/59662
2546	* resolve.c (resolve_global_procedure): Don't apply to c-binding
2547	procedures.
2548	(gfc_verify_binding_labels): Remove duplicate line.
2549
25502014-01-04  Janus Weil  <janus@gcc.gnu.org>
2551
2552	PR fortran/59547
2553	* class.c (add_proc_comp): Copy pure attribute.
2554
25552014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2556
2557	Update copyright years
2558
25592014-01-02  Tobias Burnus  <burnus@net-b.de>
2560
2561	* gfortranspec.c (lang_specific_driver): Update copyright notice
2562	dates.
2563	* gfc-internals.texi: Bump @copying's copyright year.
2564	* gfortran.texi: Ditto.
2565	* intrinsic.texi: Ditto.
2566	* invoke.texi: Ditto.
2567
25682014-01-02  Janus Weil  <janus@gcc.gnu.org>
2569
2570	PR fortran/59654
2571	* resolve.c (resolve_typebound_procedures): No need to create the vtab
2572	here.
2573
2574Copyright (C) 2014 Free Software Foundation, Inc.
2575
2576Copying and distribution of this file, with or without modification,
2577are permitted in any medium without royalty provided the copyright
2578notice and this notice are preserved.
2579