12015-12-29  Andre Vehreschild  <vehre@gcc.gnu.org>
2
3	PR fortran/69011
4	* trans-stmt.c (gfc_trans_allocate): Unwrap a NOP_EXPR to make sure
5	the actual type of the source=-expr is used when it is of class type.
6	Furthermore prevent an ICE.
7
82015-12-18  Paul Thomas  <pault@gcc.gnu.org>
9
10	PR fortran/68196
11	*expr.c (gfc_has_default_initializer): Prevent infinite recursion
12	through this function for procedure pointer components.
13	* trans-array.c (structure_alloc_comps): Ditto twice.
14
152015-12-15  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
16
17	* resolve.c (resolve_critical): Committing symbols of
18	lock variables.
19
202014-12-14  Tobias Burnus  <burnus@net-b.de>
21
22	PR fortran/68850
23	* gfortran.texi (Standards): Mention TS 18508.
24	(Fortran 2003 and 2008 Status): Add section on TS 18508 status.
25	* intrinsic.texi (EVENT_QUERY): Add.
26
272014-12-12  Tobias Burnus  <burnus@net-b.de>
28
29	PR fortran/45859
30	* expr.c (gfc_is_simply_contiguous): Optionally permit array elements.
31	(gfc_check_pointer_assign): Update call.
32	* interface.c (compare_parameter): Ditto.
33	* trans-array.c (gfc_conv_array_parameter): Ditto.
34	* trans-intrinsic.c (gfc_conv_intrinsic_transfer,
35	conv_isocbinding_function): Ditto.
36	* gfortran.h (gfc_is_simply_contiguous): Update prototype.
37
382014-12-12  Tobias Burnus  <burnus@net-b.de>
39
40	PR fortran/68815
41	* check.c (gfc_check_reshape): Replace %<%d%> by %qd.
42	* matchexp.c (gfc_match_defined_op_name): Use %qc.
43	* symbol.c (gfc_add_new_implicit_range,
44	gfc_merge_new_implicit): Ditto.
45
462015-12-10  David Malcolm  <dmalcolm@redhat.com>
47
48	* io.c (gfc_match_open): Fix indentation.
49
502015-12-09  Tobias Burnus  <burnus@net-b.de>
51	    Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
52
53	* trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status):
54	Introducing __asm__ __volatile__ ("":::"memory")
55	after image control statements.
56	* trans-stmt.c 	(gfc_trans_sync, gfc_trans_event_post_wait,
57	gfc_trans_lock_unlock, gfc_trans_critical): Ditto.
58	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
59	conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory")
60	after send, before get and around sendget.
61
622015-12-09  Tobias Burnus  <burnus@net-b.de>
63
64	PR fortran/68815
65	* decl.c (gfc_verify_c_interop_param, variable_decl): Use
66	%< ... %> for quoting in diagnostics.
67	* io.c (check_format): Ditto.
68	* resolve.c (resolve_operator): Ditto.
69	* symbol.c (check_conflict): Ditto.
70	* trans-common.c (translate_common): Ditto.
71
722015-12-07  David Malcolm  <dmalcolm@redhat.com>
73
74	* error.c (gfc_format_decoder): Update for change of
75	text_info::set_range to text_info::set_location.
76
772015-12-05  Paul Thomas  <pault@gcc.gnu.org>
78
79	PR fortran/68676
80	* decl.c (gfc_match_formal_arglist): Correct error, where 'sym'
81	was used instead of 'progname'.
82
832015-12-02  Tobias Burnus  <burnus@net-b.de>
84	    Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
85
86	* check.c (gfc_check_event_query): New function.
87	* dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST,
88	EXEC_EVENT_WAIT.
89	* expr.c (gfc_check_vardef_context): New check for event variables
90	definition.
91	* gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
92	(gfc_isym_id): GFC_ISYM_EVENT_QUERY.
93	(struct symbol_attribute): New field.
94	(gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT.
95	* gfortran.texi: Document about new events functions and minor
96	changes.
97	* interface.c (compare_parameter): New check.
98	(gfc_procedure_use): New check for explicit procedure interface.
99	(add_subroutines): Add event_query.
100	* intrinsic.h (gfc_check_event_query,gfc_resolve_event_query):
101	New prototypes.
102	* iresolve.c (gfc_resolve_event_query): New function.
103	* iso-fortran-env.def (event_type): New type.
104	* match.c (event_statement,gfc_match_event_post,gfc_match_event_wait):
105	New functions.
106	(gfc_match_name): New event post and event wait.
107	* match.h (gfc_match_event_post,gfc_match_event_wait):
108	New prototypes.
109	* module.c (ab_attribute): Add AB_EVENT_COMP.
110	(attr_bits): Likewise.
111	(mio_symbol_attribute): Handle event_comp attribute.
112	* parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
113	(next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
114	(gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
115	(parse_derived): Check for event_type components.
116	* resolve.c (resolve_allocate_expr): Check for event variable def.
117	(resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It
118	includes logic for locks and events.
119	(gfc_resolve_code): Call it.
120	(gfc_resolve_symbol): New check for event variable to be a corray.
121	* st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and
122	EXEC_EVENT_WAIT.
123	* trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
124	gfor_fndecl_caf_event_query): New global variables.
125	(generate_coarray_sym_init): Checking for event_type.
126	(gfc_conv_procedure_call): Check for C bind attribute.
127	* trans-intrinsic.c (conv_intrinsic_event_query): New function.
128	(conv_intrinsic_move_alloc): Call it.
129	* trans-stmt.c (gfc_trans_lock_unlock): Passing address
130	of actual argument.
131	(gfc_trans_sync): Likewise.
132	(gfc_trans_event_post_wait): New function.
133	* trans-stmt.h (gfc_trans_event_post_wait): New prototype.
134	* trans-types.c (gfc_get_derived_type): Integer_kind as event_type.
135	* trans.c (gfc_allocate_using_lib): New argument and logic for events.
136	(gfc_allocate_allocatable): Passing new argument.
137	(trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT.
138	* trans.h (gfc_coarray_type): New elements.
139	(gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
140	gfor_fndecl_caf_event_query): Declare them.
141
1422015-12-02  Cesar Philippidis  <cesar@codesourcery.com>
143
144	PR fortran/63861
145	* openmp.c (gfc_match_omp_clauses): Allow subarrays for acc reductions.
146	(resolve_omp_clauses): Error on any acc reductions on arrays.
147
1482015-12-01  Cesar Philippidis  <cesar@codesourcery.com>
149
150	* dump-parse-tree.c (show_omp_clauses): Handle optional num and static
151	arguments for the gang clause.
152	* gfortran.h (gfc_omp_clauses): Rename gang_expr as gang_num_expr.
153	Add gang_static_expr.
154	* openmp.c (gfc_free_omp_clauses): Update to free gang_num_expr and
155	gang_static_expr.
156	(match_oacc_clause_gang): Update to support both num and static in
157	the same clause.
158	(resolve_omp_clauses): Formatting.  Also handle gang_num_expr and
159	gang_static_expr.
160	(resolve_oacc_params_in_parallel): New const char arg argument.
161	Use it to report more accurate gang, worker and vector clause errors.
162	(resolve_oacc_loop_blocks): Update calls to
163	resolve_oacc_params_in_parallel.
164	* trans-openmp.c (gfc_trans_omp_clauses): Update the gimplification of
165	the gang clause.
166	(gfc_trans_oacc_combined_directive): Make use of gang_num_expr and
167	gang_static_expr.  Remove OMP_LIST_REDUCTION from construct_clauses.
168
1692015-11-30  Cesar Philippidis  <cesar@codesourcery.com>
170	    James Norris  <jnorris@codesourcery.com>
171	    Nathan Sidwell  <nathan@codesourcery.com>
172
173	* f95-lang.c (gfc_attribute_table): Add an "oacc function"
174	attribute.
175	* gfortran.h (symbol_attribute): Add an oacc_function bit-field.
176	(gfc_oacc_routine_name): New struct;
177	(gfc_get_oacc_routine_name): New macro.
178	(gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and
179	oacc_routine fields.
180	(gfc_exec_op): Add EXEC_OACC_ROUTINE.
181	* openmp.c (OACC_ROUTINE_CLAUSES): New mask.
182	(gfc_oacc_routine_dims): New function.
183	(gfc_match_oacc_routine): Add support for named routines and the
184	gang, worker vector and seq clauses.
185	* parse.c (is_oacc): Add EXEC_OACC_ROUTINE.
186	* resolve.c (gfc_resolve_blocks): Likewise.
187	* st.c (gfc_free_statement): Likewise.
188	* trans-decl.c (add_attributes_to_decl): Attach an 'oacc function'
189	attribute and shape geometry for acc routine.
190
1912015-11-30  Paul Thomas  <pault@gcc.gnu.org>
192
193	PR fortran/68534
194	* decl.c (gfc_match_formal_arglist): Cope with zero formal args
195	either in interface declaration or in procedure declaration in
196	submodule.
197
1982015-11-25  Steven G. Kargl  <kargl@gcc.gnu.org>
199
200	PR fortran/68227
201	* trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into
202	into part of conditional statement.
203
2042015-11-25  Ilmir Usmanov <me@ilmir.us>
205	    Cesar Philippidis  <cesar@codesourcery.com>
206
207	PR fortran/63858
208	* scanner.c (skip_oacc_attribute): Remove continue_flag parameter.
209	Rename as ...
210	(skip_free_oacc_sentinel): ... this.
211	(skip_omp_attribute): Remove continue_flag parameter. Rename as ...
212	(skip_free_omp_sentinel): ... this.
213	(skip_free_comments): Update to call skip_free_oacc_sentinel and
214	skip_free_omp_sentinel.
215	(skip_fixed_omp_sentinel): New function.
216	(skip_fixed_oacc_sentinel): New function.
217	(skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in
218	continuation.
219
2202015-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>
221
222	PR fortran/68486
223	* simplify.c (gfc_simplify_cshift): Allow all EXPR_*.
224
2252015-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>
226
227	PR fortran/68486
228	* simplify.c (gfc_simplify_cshift):  Add EXPR_OP to mix.
229
2302015-11-22  James Norris  <jnorris@codesourcery.com>
231	    Steven G. Kargl  <kargl@gcc.gnu.org>
232
233	* openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
234	(gfc_resolve_oacc_declare): Fix comparision.
235
2362015-11-22  James Norris  <jnorris@codesourcery.com>
237	    Cesar Philippidis  <cesar@codesourcery.com>
238
239	* dump-parse-tree.c (show_namespace): Handle declares.
240	* gfortran.h (struct symbol_attribute): New fields.
241	(enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
242	(OMP_LIST_LINK): New enum.
243	(struct gfc_oacc_declare): New structure.
244	(gfc_get_oacc_declare): New definition.
245	(struct gfc_namespace): Change type.
246	(enum gfc_exec_op): Add EXEC_OACC_DECLARE.
247	(struct gfc_code): New field.
248	* module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
249	AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
250	AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
251	(attr_bits): Add new initializers.
252	(mio_symbol_attribute): Handle new atributes.
253	* openmp.c (gfc_free_oacc_declare_clauses): New function.
254	(gfc_match_oacc_clause_link: Likewise.
255	(OMP_CLAUSE_LINK): New definition.
256	(gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
257	(OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
258	(gfc_match_oacc_declare): Add checking and module handling.
259	(resolve_omp_clauses): Add array initializer.
260	(gfc_resolve_oacc_declare): Reimplement.
261	* parse.c (case_decl): Add ST_OACC_DECLARE.
262	(parse_spec): Remove handling.
263	(parse_progunit): Remove handling.
264	* parse.h (struct gfc_state_data): Change type.
265	* resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
266	* st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
267	* symbol.c (check_conflict): Add conflict checks.
268	(gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin,
269	gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
270	New functions.
271	(gfc_copy_attr): Handle new symbols.
272	* trans-decl.c (add_clause, find_module_oacc_declare_clauses,
273	finish_oacc_declare): New functions.
274	(gfc_generate_function_code): Replace with call.
275	* trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
276	(gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
277	* trans-stmt.c (gfc_trans_block_construct): Replace with call.
278	* trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
279	* trans.c (trans_code): Handle EXEC_OACC_DECLARE.
280
2812015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>
282
283	* simplify.c (gfc_simplify_cshift): Work around bootstrap issues
284	due to inappropriate warning options.
285
2862015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>
287
288	* simplify.c (gfc_simplify_cshift): Implement simplification of
289	CSHIFT for rank=1 arrays.
290	(gfc_simplify_spread): Remove a FIXME and add error condition.
291	* intrinsic.h: Prototype for gfc_simplify_cshift
292	* intrinsic.c (add_functions): Use gfc_simplify_cshift.
293
2942015-11-20  Steven G. Kargl  <kargl@gcc.gnu.org>
295
296	PR fortran/68237
297	* decl.c (gfc_match_submod_proc): Test the interface symbol
298	before accessing its attributes.
299
3002015-11-20  Paul Thomas  <pault@gcc.gnu.org>
301
302	PR fortran/66762
303	(gfc_get_symbol_decl): Test for attr.used_in_submodule as well
304	as attr.use_assoc (twice).
305	(gfc_create_module_variable): Ditto.
306
3072015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>
308
309	PR fortran/59910
310	* primary.c (gfc_match_structure_constructor): Reduce a structure
311	constructor in a DATA statement.
312
3132015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>
314
315	PR fortran/43996
316	* simplify.c (gfc_simplify_spread): Issue error for too large array
317	constructor in a PARAMETER statement.
318
3192015-11-17  Steven G. Kargl  <kargl@gcc.gnu.org>
320
321	* primary.c (gfc_match_structure_constructor): Fix whitespace.
322
3232015-11-17  Dominique d'Humieres <dominiq@lps.ens.fr>
324
325	PR fortran/65751
326	* expr.c (gfc_check_pointer_assign): Fix error message.
327
3282015-11-16  Steven G. Kargl  <kargl@gcc.gnu.org>
329
330	PR fortran/58027
331	PR fortran/60993
332	* expr.c (gfc_check_init_expr): Prevent a redundant check when a
333	__convert_* function was inserted into an array constructor.
334	(gfc_check_assign_symbol): Check for an initialization expression
335	when a __convert_* was inserted.
336
3372015-11-15  Paul Thomas  <pault@gcc.gnu.org>
338
339	PR fortran/50221
340	PR fortran/68216
341	PR fortran/63932
342	PR fortran/66408
343	* trans_array.c (gfc_conv_scalarized_array_ref): Pass the
344	symbol decl for deferred character length array references.
345	* trans-stmt.c (gfc_trans_allocate): Keep the string lengths
346	to update deferred length character string lengths.
347	* trans-types.c (gfc_get_dtype_rank_type); Use the string
348	length of deferred character types for the dtype size.
349	* trans.c (gfc_build_array_ref): For references to deferred
350	character arrays, use the domain max value, if it is a variable
351	to set the 'span' and use pointer arithmetic for acces to the
352	element.
353	(trans_code): Set gfc_current_locus for diagnostic purposes.
354
355	PR fortran/67674
356	* trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
357	string lengths of components.
358
359	PR fortran/49954
360	* resolve.c (deferred_op_assign): New function.
361	(gfc_resolve_code): Call it.
362	* trans-array.c (concat_str_length): New function.
363	(gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
364	realloc blocks for deferred character length arrays because the
365	string length might change, even if the shape is the same. Call
366	concat_str_length to obtain the string length for concatenation
367	since it is needed to compute the lhs string length.
368	Set the descriptor dtype appropriately for the new string
369	length.
370	* trans-expr.c (gfc_trans_assignment_1): Use the rse string
371	length for all characters, other than deferred types. For
372	concatenation operators, push the rse.pre block to the inner
373	most loop so that the temporary pointer and the assignments
374	are properly placed.
375
3762015-11-14  Steven G. Kargl  <kargl@gcc.gnu.org>
377
378	PR fortran/67803
379	* array.c (gfc_match_array_constructor): If array constructor included
380	a CHARACTER typespec, check array elements for compatible type.
381
3822015-11-13  Steven G. Kargl  <kargl@gccc.gnu.org>
383
384	PR fortran/68319
385	* decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
386	* io.c (gfc_match_format): Ditto.
387	* match.c (gfc_match_st_function): Ditto.
388
3892015-11-13  David Malcolm  <dmalcolm@redhat.com>
390
391	* error.c (gfc_warning): Pass line_table to rich_location ctor.
392	(gfc_warning_now_at): Likewise.
393	(gfc_warning_now): Likewise.
394	(gfc_error_now): Likewise.
395	(gfc_fatal_error): Likewise.
396	(gfc_error): Likewise.
397	(gfc_internal_error): Likewise.
398
3992015-11-12  Steven G. Kargl  <kargl@gcc.gnu.org>
400
401	PR fortran/68318
402	* decl.c (get_proc_name): Increment reference count for ENTRY.
403	While here, fix comment and use postfix ++ for consistency.
404
4052015-11-11  Andrew MacLeod  <amacleod@redhat.com>
406
407	* array.c: Remove unused header files.
408	* convert.c: Likewise.
409	* cpp.c: Likewise.
410	* decl.c: Likewise.
411	* f95-lang.c: Likewise.
412	* frontend-passes.c: Likewise.
413	* iresolve.c: Likewise.
414	* match.c: Likewise.
415	* module.c: Likewise.
416	* options.c: Likewise.
417	* parse.c: Likewise.
418	* target-memory.c: Likewise.
419	* trans-array.c: Likewise.
420	* trans-common.c: Likewise.
421	* trans-const.c: Likewise.
422	* trans-decl.c: Likewise.
423	* trans-expr.c: Likewise.
424	* trans-intrinsic.c: Likewise.
425	* trans-io.c: Likewise.
426	* trans-openmp.c: Likewise.
427	* trans-stmt.c: Likewise.
428	* trans-types.c: Likewise.
429	* trans.c: Likewise.
430
4312015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>
432
433	PR fortran/67826
434	* openmp.c (gfc_omp_udr_find): Fix typo.
435
4362015-11-08  Steven g. Kargl  <kargl@gcc.gnu.org>
437
438	PR fortran/68053
439	* decl.c (add_init_expr_to_sym):  Try to reduce initialization expression
440	before testing for a constant value.
441
4422015-11-08  Andre Vehreschild  <vehre@gcc.gnu.org>
443
444	PR fortran/68218
445	* trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
446	array spec in allocate is a function call.
447
4482015-11-08  Steven G. Kargl  <kargl@gc.gnu.org>
449
450	PR fortran/68224
451	* array.c (match_array_element_spec): Check of invalid NULL().
452	While here, fix nearby comments.
453
4542015-11-08  Paul Thomas  <pault@gcc.gnu.org>
455
456	PR fortran/68196
457	* class.c (has_finalizer_component): Prevent infinite recursion
458	through this function if the derived type and that of its
459	component are the same.
460	* trans-types.c (gfc_get_derived_type): Do the same for proc
461	pointers by ignoring the explicit interface for the component.
462
463	PR fortran/66465
464	* check.c (same_type_check): If either of the expressions is
465	BT_PROCEDURE, use the typespec from the symbol, rather than the
466	expression.
467
4682015-11-07  Steven G. Kargl  <kargl@gcc.gnu.org>
469
470	PR fortran/68153
471	* check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
472
4732015-11-07  Steven G. Kargl  <kargl@gcc.gnu.org>
474
475	PR fortran/68151
476	* match.c (match_case_selector):  Check for invalid type.
477
4782015-11-06  David Malcolm  <dmalcolm@redhat.com>
479
480	* cpp.c (cb_cpp_error): Convert parameter from location_t to
481	rich_location *.  Eliminate the "column_override" parameter.
482	* error.c (gfc_warning): Update for change in signature of
483	diagnostic_set_info.
484	(gfc_format_decoder): Update handling of %C/%L for changes
485	to struct text_info.
486	(gfc_diagnostic_starter): Use richloc when determining whether to
487	print one locus or two.  When handling a location that will
488	involve a call to diagnostic_show_locus, only attempt to print the
489	locus for the primary location, and don't call into
490	diagnostic_print_caret_line.
491	(gfc_warning_now_at): Update for change in signature of
492	diagnostic_set_info.
493	(gfc_warning_now): Likewise.
494	(gfc_error_now): Likewise.
495	(gfc_fatal_error): Likewise.
496	(gfc_error): Likewise.
497	(gfc_internal_error): Likewise.
498
4992015-11-05  Cesar Philippidis  <cesar@codesourcery.com>
500
501	* openmp.c (gfc_match_omp_clauses): Update support for the tile
502	and default clauses in OpenACC.
503	(gfc_match_oacc_update): Error when data clauses are supplied.
504	(oacc_compatible_clauses): Delete.
505	(resolve_omp_clauses): Give special care for OpenACC reductions.
506	Also update error reporting for the tile clause.
507	(resolve_oacc_loop_blocks): Update error reporting for the tile clause.
508	* trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add
509	OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument.
510	(gfc_trans_oacc_combined_directive): Update the list of clauses which
511	are split to acc loops.
512
5132015-11-05  Jakub Jelinek  <jakub@redhat.com>
514
515	* types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
516	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
517
5182015-11-03  Thomas Schwinge  <thomas@codesourcery.com>
519	    Chung-Lin Tang  <cltang@codesourcery.com>
520
521	* gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
522	ST_OACC_END_ATOMIC.
523	(gfc_exec_op): Add EXEC_OACC_ATOMIC.
524	* match.h (gfc_match_oacc_atomic): New prototype.
525	* openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
526	wrapper functions around...
527	(gfc_match_omp_oacc_atomic): ... this new function.
528	(oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
529	EXEC_OACC_ATOMIC.
530	* parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
531	(case_exec_markers): Add ST_OACC_ATOMIC.
532	(gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
533	(parse_omp_atomic): Rename to...
534	(parse_omp_oacc_atomic): ... this new function.  Add omp_p formal
535	parameter.  Adjust all users.
536	(parse_executable): Handle ST_OACC_ATOMIC.
537	(is_oacc): Handle EXEC_OACC_ATOMIC.
538	* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
539	EXEC_OACC_ATOMIC.
540	* st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
541	* trans-openmp.c (gfc_trans_oacc_directive): Handle
542	EXEC_OACC_ATOMIC.
543	* trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
544
5452015-10-31  Cesar Philippidis  <cesar@codesourcery.com>
546
547	PR Bootstrap/68168
548
549	* openmp.c (resolve_omp_clauses): Pass &n->where when calling
550	gfc_error.
551
5522015-10-30  Cesar Philippidis  <cesar@codesourcery.com>
553
554	* gfortran.h (gfc_omp_namespace): Add locus where member.
555	* openmp.c (gfc_match_omp_variable_list): Set where for each list
556	item found.
557	(resolve_omp_clauses): Remove where argument and use the where
558	gfc_omp_namespace member when reporting errors.
559	(resolve_omp_do):  Update call to resolve_omp_clauses.
560	(resolve_oacc_loop): Likewise.
561	(gfc_resolve_oacc_directive): Likewise.
562	(gfc_resolve_omp_directive): Likewise.
563	(gfc_resolve_omp_declare_simd): Likewise.
564
5652015-10-15  Steven G. Kargl  <kargl@gcc.gnu.org>
566
567	PR fortran/51993
568	* decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
569	if-statement causing an early return leads to valid error message.
570
5712015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
572
573	PR fortran/36192
574	* interface.c (get_expr_storage_size):  Check for INTEGER type before
575	calling gmp routines.
576
5772015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
578
579	PR fortran/68154
580	* decl.c (add_init_expr_to_sym): if the char length in the typespec
581	is NULL, check for and use a constructor.
582
5832015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
584
585	PR fortran/68054
586	* decl.c (match_attr_spec): PROTECTED can only be a module.
587
5882015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
589
590	PR fortran/67885
591	* trans-decl.c (generate_local_decl): Mark PARAMETER entities in
592	BLOCK construct.
593
5942015-10-29  Andrew MacLeod  <amacleod@redhat.com>
595
596	* array.c: Reorder #include's and remove duplicates.
597	* convert.c: Likewise.
598	* cpp.c: Likewise.
599	* decl.c: Likewise.
600	* f95-lang.c: Likewise.
601	* frontend-passes.c: Likewise.
602	* iresolve.c: Likewise.
603	* match.c: Likewise.
604	* module.c: Likewise.
605	* options.c: Likewise.
606	* parse.c: Likewise.
607	* resolve.c: Likewise.
608	* simplify.c: Likewise.
609	* target-memory.c: Likewise.
610	* trans-array.c: Likewise.
611	* trans-common.c: Likewise.
612	* trans-const.c: Likewise.
613	* trans-decl.c: Likewise.
614	* trans-expr.c: Likewise.
615	* trans-intrinsic.c: Likewise.
616	* trans-io.c: Likewise.
617	* trans-openmp.c: Likewise.
618	* trans-stmt.c: Likewise.
619	* trans-types.c: Likewise.
620	* trans.c: Likewise.
621
6222015-10-29  Richard Biener  <rguenther@suse.de>
623
624	* f95-lang.c: Properly build variadic types for classification
625	and comparison builtins.
626
6272015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
628	    James Norris  <jnorris@codesourcery.com>
629
630	PR fortran/63865
631	* openmp.c (resolve_oacc_cache): Remove function.
632	(gfc_match_oacc_cache): Enable array sections.
633	(resolve_omp_clauses, gfc_resolve_oacc_directive): Change
634	accordingly.
635	* trans-openmp.c (gfc_trans_omp_clauses): Likewise.
636
6372015-10-27  Steven G. Kargl  <kargl@gcc.gnu.org>
638
639	PR fortran/68108
640	* decl.c (char_len_param_value): Check for REF_ARRAY.
641
6422015-10-26  Louis Krupp  <louis.krupp@zoho.com>
643
644	PR fortran/66056
645	* fortran.h: Include namespace pointer in statement label
646	structure.
647	* symbol.c (gfc_get_st_label): Store pointer to namespace
648	that owns the statement label tree in each label.
649	(gfc_free_st_label): Use namespace owning statement label
650	tree when deleting statement label.
651	* io.c: Initialize format_asterisk with NULL namespace pointer.
652
6532015-10-26  Steven G. Kargl  <kargl@gcc.gnu.org>
654
655	PR fortran/36192
656	* array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling
657	mpz_set.
658
6592015-10-26  Andre Vehreschild  <vehre@gcc.gnu.org>
660
661	PR fortran/66927
662	* trans-array.c (evaluate_bound): For deferred length arrays get the
663	bounds directly from the descriptor, i.e., prevent using constant
664	zero lower bound from the gfc_conv_array_lbound () routine.
665	(gfc_conv_section_startstride): Hand deferred array status to
666	evaluate_bound ().
667	(gfc_conv_expr_descriptor): Same.
668
6692015-01-25  Paul Thomas  <pault@gcc.gnu.org>
670
671	PR fortran/67171
672	* trans-array.c (structure_alloc_comps): On deallocation of
673	class components, reset the vptr to the declared type vtable
674	and reset the _len field of unlimited polymorphic components.
675	*trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
676	allocatable component references to the right of part reference
677	with non-zero rank and return NULL.
678	(gfc_reset_vptr): Simplify this function by using the function
679	gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
680	(gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
681	NULL return.
682	* trans-stmt.c (gfc_trans_allocate): Rely on the use of
683	gfc_trans_assignment if expr3 is a variable expression since
684	this deals correctly with array sections.
685
6862015-10-25  Andre Vehreschild  <vehre@gcc.gnu.org>
687
688	PR fortran/66927
689	PR fortran/67044
690	* trans-array.c (build_array_ref): Modified call to
691	gfc_get_class_array_ref to adhere to new interface.
692	(gfc_conv_expr_descriptor): For one-based arrays that
693	are filled by a loop starting at one the start index of the
694	source array has to be mangled into the offset.
695	* trans-expr.c (gfc_get_class_array_ref): When the tree to get
696	the _data component is present already, add a way to supply it.
697	(gfc_copy_class_to_class): Allow to copy to a derived type also.
698	* trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor
699	for functions returning	a class or derived object. Get the
700	reference instead.
701	* trans.h: Interface change of gfc_get_class_array_ref.
702
7032015-10-24  Steven G. Kargl  <kargl@gcc.gnu.org>
704
705	PR fortran/68055
706	* decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
707	declarations.
708
7092015-10-24  Steven G. Kargl  <kargl@gcc.gnu.org>
710
711	PR fortran/67805
712	* array.c (gfc_match_array_constructor): Check for error from type
713	spec matching.
714	* decl.c (char_len_param_value): Check for valid of charlen parameter.
715	Reap dead code dating to 2008.
716	match.c (gfc_match_type_spec): Special case the keyword use in REAL.
717
7182015-10-23  Mikhail Maltsev  <maltsevm@gmail.com>
719
720	* trans-common.c (create_common): Adjust to use flag_checking.
721	* trans.c (gfc_add_modify_loc): Use gcc_checking_assert.
722
7232015-10-21  Martin Sebor  <msebor@redhat.com>
724
725	PR driver/68043
726	* lang.opt: End each sentence that describes an option with a period.
727
7282015-10-21  Steven G. Kargl  <kargl@gcc.gnu.org>
729
730	PR fortran/67939
731	* data.c (create_character_initializer): Deal with zero length string.
732
7332015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>
734
735	* resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
736
7372015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>
738
739	PR fortran/68019
740	* decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
741	message to be issued.
742
7432015-10-18  Mikael Morin  <mikael@gcc.gnu.org>
744
745	PR fortran/67758
746	* gfortran.h (gfc_symbol): Expand comment.
747	* match.c (gfc_match_common): Delay adding the symbol to
748	the common_block after the gfc_add_in_common call.
749	* symbol.c (gfc_free_symbol): Move common block memory handling...
750	(gfc_set_symbol_common_block): ... here as a new function.
751	(restore_old_symbol): Restore common block fields.
752	(gfc_restore_last_undo_checkpoint):
753	Check the common_block pointer instead of the in_common attribute.
754	When a symbol has been removed from the common block linked list,
755	clear its common_next pointer.
756
7572015-10-18  Paul Thomas  <pault@gcc.gnu.org>
758
759	PR fortran/67177
760	PR fortran/67977
761	* primary.c (match_substring): Add an argument 'deferred' to
762	flag that a substring reference with null start and end should
763	not be optimized away for deferred length strings.
764	(match_string_constant, gfc_match_rvalue): Set the argument.
765	* trans-expr.c (alloc_scalar_allocatable_for_assignment): If
766	there is a substring reference return.
767	* trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
768	characters, assign the 'from' string length to the 'to' string
769	length. If the 'from' expression is deferred, set its string
770	length to zero. If the 'to' expression has allocatable
771	components, deallocate them.
772
7732015-10-17  Steven G. Kargl  <kargl@gcc.gnu.org>
774
775	PR fortran/67987
776	* decl.c (char_len_param_value): Unwrap unlong line.  If LEN < 0,
777	force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
778	* resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
779	If 'start' is larger than 'end', length of substring is negative,
780	so explicitly set it to zero.
781	(resolve_charlen): Remove -Wsurprising warning.  Update comment to
782	reflect that the text is from the F2008 standard.
783
7842015-10-16  Richard Biener  <rguenther@suse.de>
785
786	* trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust
787	calls to build_addr.
788	(gfc_conv_intrinsic_mod): Likewise.
789	(gfc_conv_intrinsic_ctime): Likewise.
790	(gfc_conv_intrinsic_fdate): Likewise.
791	(gfc_conv_intrinsic_ttynam): Likewise.
792	(gfc_conv_intrinsic_minmax_char): Likewise.
793	(gfc_conv_intrinsic_index_scan_verify): Likewise.
794	(gfc_conv_intrinsic_trim): Likewise.
795
7962015-10-14  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>
797
798	* parse.c (decode_statement): Initialize M to MATCH_NO.
799
8002015-10-13  Jakub Jelinek  <jakub@redhat.com>
801	    Ilya Verbin  <ilya.verbin@intel.com>
802
803	* f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
804	DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
805	* trans-openmp.c (gfc_trans_omp_clauses): Set
806	OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
807	to NULL.
808	(gfc_trans_omp_critical): Adjust for addition of clauses.
809	(gfc_trans_omp_ordered): Likewise.
810	* types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
811	BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
812	BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
813	BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
814	BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
815	BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
816	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
817	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
818	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
819	BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
820	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
821	BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
822	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
823
8242015-10-07  Andre Vehreschild  <vehre@gcc.gnu.org>
825
826	PR fortran/65889
827	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and
828	on stack class objects as sizeof parameter.
829
8302015-10-06  Louis Krupp <louis.krupp@zoho.com>
831	PR fortran/65766
832	* resolve.c (gfc_resolve_substring_charlen): For derived type,
833	use typespec of string component when resolving substring length.
834
8352015-10-04  Mikael Morin  <mikael@gcc.gnu.org>
836
837	* match.c (gfc_match_common): Remove dead variable old_blank_common.
838
8392015-10-04  Mikael Morin  <mikael@gcc.gnu.org>
840
841	PR fortran/67758
842	* match.c (gfc_match_common): Delay the common_block pointer
843	assignment after error checking.
844	Delay the call to gfc_add_in_common attribute after the handling
845	of array specs.
846	* resolve.c (resolve_common_vars): Call gfc_add_in_common again.
847
8482015-10-04  Mikael Morin  <mikael@gcc.gnu.org>
849
850	* resolve.c (resolve_common_vars): Move access to the common
851	block's head symbol inside the function.
852	(resolve_common_blocks, resolve_types): Update callers.
853
8542015-10-01  Louis Krupp <louis.krupp@zoho.com>
855
856	PR fortran/62242
857	PR fortran/52332
858	* trans-array.c
859	(store_backend_decl): Create new gfc_charlen instance if requested
860	(get_array_ctor_all_strlen): Call store_backend_decl requesting
861	new gfc_charlen
862	(trans_array_constructor): Call store_backend_decl requesting
863	new gfc_charlen if get_array_ctor_strlen was called
864	(gfc_add_loop_ss_code): Don't try to convert non-constant length
865
8662015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>
867
868	PR fortran.67802
869	* decl.c (add_init_expr_to_sym): Numeric constant for character
870	length must be an INTEGER.
871
8722015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>
873
874	PR fortran/66979
875	* io.c (gfc_resolve_filepos): Check for a UNIT number.  Add a nearby
876	missing 'return false'.
877
8782015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>
879
880	PR fortran/67616
881	* primary.c (gfc_match_structure_constructor): Use a possibly
882	host-associated symtree to prevent ICE.
883
8842015-09-28  Paul Thomas  <pault@gcc.gnu.org>
885
886	PR fortran/40054
887	PR fortran/63921
888	* decl.c (get_proc_name): Return if statement function is
889	found.
890	* expr.c (gfc_check_vardef_context): Add error return for
891	derived type expression lacking the derived type itself.
892	* match.c (gfc_match_ptr_fcn_assign): New function.
893	* match.h : Add prototype for gfc_match_ptr_fcn_assign.
894	* parse.c : Add static flag 'in_specification_block'.
895	(decode_statement): If in specification block match a statement
896	function, then, if no error arising from statement function
897	matching, try to match pointer function assignment.
898	(parse_interface): Set 'in_specification_block' on exiting from
899	parse_spec.
900	(parse_spec): Set and then reset 'in_specification_block'.
901	(gfc_parse_file): Set 'in_specification_block'.
902	* resolve.c (get_temp_from_expr): Extend to include functions
903	and array constructors as rvalues..
904	(resolve_ptr_fcn_assign): New function.
905	(gfc_resolve_code): Call it on finding a pointer function as an
906	lvalue. If valid or on error, go back to start of resolve_code.
907	* symbol.c (gfc_add_procedure): Add a sentence to the error to
908	flag up the ambiguity between a statement function and pointer
909	function assignment at the end of the specification block.
910
9112015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
912
913	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
914	(DEF_FUNCTION_TYPE_VAR_11): Delete.
915	* types.def (DEF_FUNCTION_TYPE_VAR_6): New.
916	(DEF_FUNCTION_TYPE_VAR_11): Delete.
917
9182015-09-26  Mikael Morin  <mikael@gcc.gnu.org>
919
920	PR fortran/67721
921	* trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
922	condition guarding deep copy.
923
9242013-09-26  Paul Thomas  <pault@gcc.gnu.org>
925
926	PR fortran/67567
927	* resolve.c (resolve_fl_procedure): For module procedures, take
928	the parent module name and the submodule name from the name of
929	the namespace.
930
9312015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
932
933	PR fortran/67614
934	* resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
935
9362015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
937
938	PR fortran/67525
939	* parse.c (match_deferred_characteristics): Remove an assert, which
940	allows an invalid SELECT TYPE selector to be detected.
941
9422015-09-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>
943
944	PR pretty-print/67567
945	* resolve.c (resolve_fl_procedure): Work-around when iface->module
946	== NULL.
947
9482015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>
949
950	* resolve.c (nonscalar_typebound_assign): Fix typos in comment.
951
9522015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>
953
954	PR fortran/67615
955	* resolve.c (gfc_resolve_code): Check for scalar expression in
956	arithmetic-if.
957
9582015-09-17  Paul Thomas  <pault@gcc.gnu.org>
959
960	PR fortran/52846
961	PR fortran/67588
962	* module.c : Add static no_module_procedures.
963	(gfc_match_submodule): Correct memory leakage caused during the
964	freeing of use_lists.
965	(mio_symbol_attribute): Reset above if module procedure is
966	encountered.
967	(gfc_dump_module): Set above and exit without writing smod file
968	if it reset.
969	* gfortran.texi : Add section on submodule support.
970
9712015-09-10  Steven G. Kargl  <kargl@gcc.gnu.org>
972
973	PR fortran/67526
974	* expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
975
9762015-09-10  Paul Thomas  <pault@gcc.gnu.org>
977
978	PR fortran/66993
979	* module.c (read_module): If a symtree exists and the symbol has
980	been associated in a submodule from a parent (sub)module, attach
981	the symbol to a 'unique symtree' and the new symbol to the
982	existing symtree.
983
9842015-09-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
985
986	* intrinsic.h (gfc_simplify_mvbits): Remove.
987	* simplify.c (gfc_simplify_mvbits): Remove.
988	* intrinsic.c (add_subroutines): Remove reference to
989	gfc_simplify_mvbits.
990
9912015-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
992
993	PR fortran/67429
994	* error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
995	caret lines might be skipped when actually giving a diagnostic.
996
9972015-08-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
998
999	PR fortran/54833
1000	* trans.c (gfc_call_free): Don't check if pointer is NULL.
1001	* trans.h (gfc_call_free): Adjust comment.
1002
10032015-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1004
1005	* trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
1006	gfc_allocate_using_lib, gfc_allocate_allocatable,
1007	gfc_call_realloc): Simplify code.
1008	* trans-array.c (gfc_trans_allocate_array_storage,
1009	gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
1010	convert gfc_call_free() argument.
1011	* trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
1012	fcncall_realloc_result): Likewise.
1013	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.
1014
10152015-08-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1016
1017	PR fortran/53668
1018	* intrinsic.c (add_functions, add_subroutines): Remove resolution
1019	functions for FREE and MALLOC.
1020	* intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
1021	* iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
1022	* trans-intrinsic.c (conv_intrinsic_free,
1023	gfc_conv_intrinsic_malloc): New functions.
1024
10252015-08-24  Louis Krupp <louis.krupp@zoho.com>
1026
1027	PR fortran/62536
1028	PR fortran/66175
1029	* decl.c (gfc_match_end): Clean up nested BLOCKs.
1030	* parse.c (parse_block_construct): Deal gracefully with cleaned-up
1031	BLOCKs.
1032
10332015-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1034
1035	PR libfortran/54572
1036	* config-lang.in: Add libbacktrace to target_libs.
1037
10382015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
1039
1040	* dependency.c, dependency.h, gfortran.h, io.c, module.c,
1041	parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs.
1042
10432015-08-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1044
1045	PR fortran/54656
1046	* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
1047	for quadruple precision BUILT_IN_SQRT.
1048
10492015-08-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1050
1051	* trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
1052	generic BUILT_IN_SIGNBIT.
1053	(conv_intrinsic_ieee_copy_sign): Likewise.
1054	* f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
1055	BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
1056	BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
1057	variants of BUILT_IN_SIGNBIT.
1058	* mathbuiltins.def: Remove SIGNBIT.
1059
10602015-08-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1061
1062	PR fortran/41387
1063	* gfortran.texi: New section "File operations on symbolic links".
1064
10652015-08-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1066
1067	PR fortran/67059
1068	* gfortranspec.c (lang_specific_driver): Adjust --version output.
1069
10702015-08-08  Bud Davis  <jmdavis@link.com>
1071	    Mikael Morin  <mikael@gcc.gnu.org>
1072
1073	PR fortran/59746
1074	* symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
1075	symbol if it was put in the list.
1076
10772015-08-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1078
1079	PR fortran/64104
1080	* expr.c (gfc_check_init_expr): Allow some IEEE functions in
1081	constant expressions.
1082	(external_spec_function): Allow some IEEE functions in specification
1083	expressions.
1084	* simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
1085	(simplify_ieee_selected_real_kind, simplify_ieee_support,
1086	matches_ieee_function_name, gfc_simplify_ieee_functions): New
1087	functions.
1088	* gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
1089	prototype.
1090	(gfc_simplify_ieee_functions): Add prototype.
1091
10922015-08-06  Mikael Morin  <mikael@gcc.gnu.org>
1093
1094	* trans.h (gfc_trans_scalar_assign): Remove fourth argument.
1095	* trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
1096	argument.
1097	(gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
1098	 gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
1099	* trans-array.c (gfc_conv_expr_descriptor): Ditto.
1100	* trans-stmt.c (forall_make_variable_temp,
1101	generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
1102	gfc_trans_where_assign, gfc_trans_where_3): Ditto.
1103
11042015-08-05  Paul Thomas  <pault@gcc.gnu.org>
1105
1106	PR fortran/52846
1107	* module.c (check_access): Return true if new static flag
1108	'dump_smod' is true..
1109	(gfc_dump_module): Rename original 'dump_module' and call from
1110	new version. Use 'dump_smod' rather than the stack state to
1111	determine if a submodule is being processed. The new version of
1112	this procedure sets 'dump_smod' depending on the stack state and
1113	then writes both the mod and smod files if a module is being
1114	processed or just the smod for a submodule.
1115	(gfc_use_module): Eliminate the check for module_name and
1116	submodule_name being the same.
1117	* trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array,
1118	get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use
1119	the conditions to set DECL_VISIBILITY as hidden and to set as
1120	true DECL_VISIBILITY_SPECIFIED.
1121
11222015-08-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1123
1124	PR fortran/64022
1125	* simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
1126	support to all real kinds.
1127
11282015-08-03  Steven G. Kargl  <kargl@gcc.gnu.org>
1129
1130	PR fortran/66942
1131	* trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
1132
11332015-08-03  Mikael Morin  <mikael@gcc.gnu.org>
1134
1135	PR fortran/64921
1136	* class.c (generate_finalization_wrapper): Set finalization
1137	procedure symbol's always_explicit attribute.
1138
11392015-08-01  Paul Thomas  <pault@gcc.gnu.org>
1140
1141	PR fortran/67091
1142	* trans-intrinsic.c (gfc_conv_associated): Add the pre and post
1143	blocks for the second argument to se.
1144
11452015-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1146
1147	* parse.c (parse_oacc_structured_block): Fix logic error.
1148	Reported by Mikael Morin <mikael.morin@sfr.fr>.
1149
11502015-07-24  Mikael Morin  <mikael@gcc.gnu.org>
1151
1152	PR fortran/64986
1153	* trans-expr.c (gfc_trans_assignment_1): Put component deallocation
1154	code at the beginning of the block.
1155
11562015-07-22  Mikael Morin  <mikael@gcc.gnu.org>
1157
1158	PR fortran/61831
1159	PR fortran/66929
1160	* trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
1161	symbol if available.
1162
11632015-07-17  Paul Thomas  <pault@gcc.gnu.org>
1164
1165	PR fortran/52846
1166	* decl.c (gfc_match_end): Pick out declared submodule name from
1167	the composite identifier.
1168	* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
1169	* module.c (gfc_match_submodule): Define submodule_name and add
1170	static 'submodule_name'.
1171	(gfc_match_submodule): Build up submodule filenames, using '@'
1172	as a delimiter. Store the output filename in 'submodule_name'.
1173	Similarly, the submodule identifier is built using '.' as an
1174	identifier.
1175	(gfc_dump_module): If current state is COMP_SUBMODULE, write
1176	to file 'submodule_name', using SUBMODULE_EXTENSION.
1177	(gfc_use_module): Similarly, use the 'submodule_name' field in
1178	the gfc_use_list structure and SUBMODULE_EXTENSION to read the
1179	implicitly used submodule files.
1180
11812015-07-17  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
1182
1183	* trans-intrinsic.c (conv_co_collective): Remove redundant address
1184	operator in the generated code.
1185
11862015-07-17  Andre Vehreschild  <vehre@gcc.gnu.org>
1187
1188	PR fortran/66035
1189	* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
1190	Compute the size to allocate for class and derived type objects
1191	correclty.
1192	(gfc_trans_subcomponent_assign): Only allocate memory for a
1193	component when the object to assign is not an allocatable class
1194	object (the memory is already present for allocatable class objects).
1195	Furthermore use copy_class_to_class for assigning the rhs to the
1196	component (may happen for dummy class objects on the rhs).
1197
11982015-07-17  Mikael Morin  <mikael@gcc.gnu.org>
1199	    Dominique d'Humieres  <dominiq@lps.ens.fr>
1200
1201	PR fortran/61831
1202	* trans-array.c (gfc_conv_array_parameter): Guard allocatable
1203	component deallocation code generation with descriptorless
1204	calling convention flag.
1205	* trans-expr.c (gfc_conv_expr_reference): Remove allocatable
1206	component deallocation code generation from revision 212329.
1207	(expr_may_alias_variables): New function.
1208	(gfc_conv_procedure_call): New boolean elemental_proc to factor
1209	check for procedure elemental-ness.  Rename boolean f to nodesc_arg
1210	and declare it in the outer scope.  Use expr_may_alias_variables,
1211	elemental_proc and nodesc_arg to decide whether generate allocatable
1212	component deallocation code.
1213	(gfc_trans_subarray_assign): Set deep copy flag.
1214
12152015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>
1216
1217	PR fortran/66724
1218	PR fortran/66724
1219	* io.c (is_char_type): Call gfc_resolve_expr ().
1220	(match_open_element, match_dt_element, match_inquire_element): Fix
1221	ASYNCHRONOUS case.
1222
12232015-07-15  Andrew MacLeod  <amacleod@redhat.com>
1224
1225	* trans-types.c: Remove multiline #include comment.
1226
12272015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
1228
1229	* simplify.c (gfc_simplify_floor): Set precision of temporary to
1230	that of arg.
1231
12322015-07-13  Andre Vehreschild  <vehre@gcc.gnu.org>
1233
1234	PR fortran/64589
1235	* class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
1236	types in the top-level namespace.
1237
12382015-07-12  Aldy Hernandez  <aldyh@redhat.com>
1239
1240	* trans-stmt.c: Fix double word typos.
1241
12422015-07-09  Andrew MacLeod  <amacleod@redhat.com>
1243
1244	* arith.c: Adjust includes for flags.h changes.
1245	* array.c: Likewise.
1246	* check.c: Likewise.
1247	* decl.c: Likewise.
1248	* error.c: Likewise.
1249	* expr.c: Likewise.
1250	* frontend-passes.c: Likewise.
1251	* interface.c: Likewise.
1252	* intrinsic.c: Likewise.
1253	* io.c: Likewise.
1254	* match.c: Likewise.
1255	* openmp.c: Likewise.
1256	* parse.c: Likewise.
1257	* primary.c: Likewise.
1258	* resolve.c: Likewise.
1259	* scanner.c: Likewise.
1260	* simplify.c: Likewise.
1261	* symbol.c: Likewise.
1262	* target-memory.c: Likewise.
1263
12642015-07-07  Andrew MacLeod  <amacleod@redhat.com>
1265
1266	* convert.c: Adjust includes.
1267	* cpp.c: Likewise.
1268	* decl.c: Likewise.
1269	* f95-lang.c: Likewise.
1270	* iresolve.c: Likewise.
1271	* match.c: Likewise.
1272	* module.c: Likewise.
1273	* options.c: Likewise.
1274	* target-memory.c: Likewise.
1275	* trans-array.c: Likewise.
1276	* trans-common.c: Likewise.
1277	* trans-const.c: Likewise.
1278	* trans-decl.c: Likewise.
1279	* trans-expr.c: Likewise.
1280	* trans-intrinsic.c: Likewise.
1281	* trans-io.c: Likewise.
1282	* trans-openmp.c: Likewise.
1283	* trans-stmt.c: Likewise.
1284	* trans-types.c: Likewise.
1285	* trans.c: Likewise.
1286
12872015-07-07  Andre Vehreschild  <vehre@gmx.de>
1288
1289	PR fortran/66578
1290	* trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
1291	is one-based for non-full array refs. Correct the offset when a
1292	rank_remap occurs.
1293
12942015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1295
1296	* io.c (check_char_variable): New function.
1297	(match_open_element, match_close_element, match_file_element,
1298	match_dt_element, match_inquire_element, match_wait_element): Use it.
1299
13002015-07-06  Andre Vehreschild  <vehre@gmx.de>
1301
1302	PR fortran/58586
1303	* resolve.c (resolve_symbol): Non-private functions in modules
1304	with allocatable or pointer components are marked referenced
1305	now. Furthermore is the default init especially for those
1306	components now done in gfc_conf_procedure_call preventing
1307	duplicate code.
1308	* trans-decl.c (gfc_generate_function_code): Generate a fake
1309	result decl for	functions returning an object with allocatable
1310	components and initialize them.
1311	* trans-expr.c (gfc_conv_procedure_call): For value typed trees
1312	use the tree without indirect ref. And for non-decl trees
1313	add a temporary variable to prevent evaluating the tree
1314	multiple times (prevent multiple function evaluations).
1315	* trans.h: Made gfc_trans_structure_assign () protoype
1316	available, which is now needed by trans-decl.c:gfc_generate_
1317	function_code(), too.
1318
13192015-07-04  Steven G. Kargl  <kargl@gcc.gnu.org>
1320
1321	PR fortran/66725
1322	* io.c (is_char_type): New function to test for BT_CHARACTER
1323	(gfc_match_open, gfc_match_close, match_dt_element): Use it.
1324
13252015-07-02  David Edelsohn  <dje.gcc@gmail.com>
1326
1327	* trans-common.c: Include <map> after system.h.
1328
13292015-07-02  Paul Thomas  <pault@gcc.gnu.org>
1330
1331	PR fortran/52846
1332	* decl.c (get_proc_name): Make a partially populated interface
1333	symbol to carry the characteristics of a module procedure and
1334	its result.
1335	(variable_decl): Declarations of dummies or results in the
1336	abreviated form of module procedure is an error.
1337	(gfc_match_import): IMPORT is not permitted in the interface
1338	declaration of module procedures.
1339	(match_attr_spec): Submodule variables have implicit save
1340	attribute for F2008 onwards.
1341	(gfc_match_prefix): Add 'module' as the a prefix and set the
1342	module_procedure attribute.
1343	(gfc_match_formal_arglist): For a module procedure keep the
1344	interface formal_arglist from the interface, match new the
1345	formal arguments and then compare the number and names of each.
1346	(gfc_match_procedure): Add case COMP_SUBMODULE.
1347	(gfc_match_function_decl, gfc_match_subroutine_decl): Set the
1348	module_procedure attribute.
1349	(gfc_match_entry, gfc_match_end):  Add case COMP_SUBMODULE. If
1350	attr abr_modproc_decl is set, switch the message accordingly
1351	for subroutines and functions.
1352	(gfc_match_submod_proc): New function to match the abbreviated
1353	style of submodule declaration.
1354	* gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
1355	attribute bits 'used_in_submodule' and 'module_procedure'. Add
1356	the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
1357	for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
1358	'gfc_check_result_characteristics'.
1359	* interface.c : Add the prefix 'gfc_' to the names of functions
1360	'check_dummy(result)_characteristics' and all their references.
1361	* match.h : Add prototype for 'gfc_match_submod_proc' and
1362	'gfc_match_submodule'.
1363	(check_sym_interfaces): A module procedure is not an error in
1364	a module procedure statment in a generic interface.
1365	* module.c (gfc_match_submodule): New function. Add handling
1366	for the 'module_procedure' attribute bit.
1367	(gfc_use_module): Make sure that a submodule cannot use itself.
1368	* parse.c (decode_statement): Set attr has_'import_set' for
1369	the interface declaration of module procedures. Handle a match
1370	occurring in 'gfc_match_submod_proc' and a match for
1371	'submodule'.
1372	(gfc_enclosing_unit): Include the state COMP_SUBMODULE.
1373	(gfc_ascii_statement): Add END SUBMODULE.
1374	(accept_statement): Add ST_SUBMODULE.
1375	(parse_spec): Disallow statement functions in a submodule
1376	specification part.
1377	(parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
1378	twice each.
1379	(get_modproc_result): Copy the result symbol of the interface.
1380	(parse_progunit): Call it.
1381	(set_syms_host_assoc): Make symbols from the ancestor module
1382	and submodules use associated, as required by the standard and
1383	set all private components public. Module procedures 'external'
1384	attribute bit is reset and the 'used_in_submodule' bit is set.
1385	(parse_module): If this is a submodule, use the ancestor module
1386	and submodules. Traverse the namespace, calling
1387	'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
1388	* parse.h : Add COMP_SUBMODULE.
1389	* primary.c (match_variable): Add COMP_SUBMODULE.
1390	* resolve.c (compare_fsyms): New function to compare the dummy
1391	characteristics of a module procedure with its interface.
1392	(resolve_fl_procedure): Compare the procedure, result and dummy
1393	characteristics of a module_procedure with its interface, using
1394	'compare_fsyms' for the dummy arguments.
1395	* symbol.c (gfc_add_procedure): Suppress the check for existing
1396	procedures in the case of a module procedure.
1397	(gfc_add_explicit_interface): Skip checks that must fail for
1398	module procedures.
1399	(gfc_add_type): Allow a new type to be added to module
1400	procedures, their results or their dummy arguments.
1401	(gfc_copy_dummy_sym): New function to generate new dummy args
1402	and copy the characteristics from the interface.
1403	* trans-decl.c (gfc_sym_mangled_function_id): Module procedures
1404	must always have their names mangled as if they are symbols
1405	coming from a declaration in a module.
1406	(gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
1407	(gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
1408	set are set DECL_EXTERNAL as if they were use associated.
1409
14102015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1411
1412	PR fortran/56520
1413	* match.c (gfc_match_name): Special case unary minus and plus.
1414
14152015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>
1416
1417	PR fortran/66545
1418	* primary.c (match_sym_complex_part): Do not dereference NULL pointer.
1419
14202015-07-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
1421
1422	* arith.c (gfc_arith_divide):  With -Winteger-division,
1423	warn about contant integer division if there is a non-zero
1424	remainder.
1425	* invoke.texi:  Document -Winteger-division.
1426	* lang.opt:  Add -Winteger-division.
1427
14282015-06-25  Andrew MacLeod  <amacleod@redhat.com>
1429
1430	* f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1431	* trans-decl.c: Likewise.
1432
14332015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
1434
1435	* trans-decl.c (module_hasher): Likewise.
1436	* trans.h (module_decl_hasher): Likewise.
1437
14382015-06-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1439
1440	PR fortran/66528
1441	* error.c (gfc_warning_check): Restore the default output_buffer
1442	before calling diagnostic_action_after_output.
1443	(gfc_error_check): Likewise.
1444	(gfc_diagnostics_init): Add comment.
1445
14462015-06-23  Andre Vehreschild  <vehre@gmx.de>
1447
1448	PR fortran/64674
1449	* parse.c (parse_associate): Figure the rank and as of a
1450	class array in an associate early.
1451	* primary.c (gfc_match_varspec): Prevent setting the
1452	dimension attribute on the sym for classes.
1453	* resolve.c (resolve_variable): Correct the component
1454	ref's type for associated variables.  Add a full array ref
1455	when class array's are associated.
1456	(resolve_assoc_var): Correct the type of the symbol,
1457	when in the associate the expression's rank becomes scalar.
1458	* trans-expr.c (gfc_conv_variable): Indirect ref needed for
1459	allocatable associated objects.
1460
14612015-06-19  Mikael Morin  <mikael@gcc.gnu.org>
1462
1463	PR fortran/66549
1464	* resolve.c (resolve_global_procedure): Don't save and restore
1465	OpenMP state around the call to gfc_resolve.
1466	(gfc_resolve): Save OpenMP state on entry and restore it on return.
1467
14682015-06-17  Andrew MacLeod  <amacleod@redhat.com>
1469
1470	* convert.c: Do not include input.h, line-map.h or is-a.h.
1471	* cpp.c: Likewise.
1472	* decl.c: Likewise.
1473	* f95-lang.c: Likewise.
1474	* gfortran.h: Likewise.
1475	* iresolve.c: Likewise.
1476	* match.c: Likewise.
1477	* module.c: Likewise.
1478	* options.c: Likewise.
1479	* target-memory.c: Likewise.
1480	* trans-array.c: Likewise.
1481	* trans-common.c: Likewise.
1482	* trans-const.c: Likewise.
1483	* trans-decl.c: Likewise.
1484	* trans-expr.c: Likewise.
1485	* trans-intrinsic.c: Likewise.
1486	* trans-io.c: Likewise.
1487	* trans-openmp.c: Likewise.
1488	* trans-stmt.c: Likewise.
1489	* trans-types.c: Likewise.
1490	* trans.c: Likewise.
1491
14922015-06-15  Andre Vehreschild  <vehre@gmx.de>
1493
1494	PR fortran/44672
1495	PR fortran/45440
1496	PR fortran/57307
1497	* gfortran.h: Extend gfc_code.ext.alloc to carry a
1498	flag indicating that the array specification has to be
1499	taken from expr3.
1500	* resolve.c (resolve_allocate_expr): Add F2008 notify
1501	and flag indicating source driven array spec.
1502	(resolve_allocate_deallocate): Check for source driven
1503	array spec, when array to allocate has no explicit
1504	array spec.
1505	* trans-array.c (gfc_array_init_size): Get lower and
1506	upper bound from a tree array descriptor, except when
1507	the source expression is an array-constructor which is
1508	fixed to be one-based.
1509	(retrieve_last_ref): Extracted from gfc_array_allocate().
1510	(gfc_array_allocate): Enable allocate(array, source=
1511	array_expression) as specified by F2008:C633.
1512	(gfc_conv_expr_descriptor): Add class tree expression
1513	into the saved descriptor for class arrays.
1514	* trans-array.h: Add temporary array descriptor to
1515	gfc_array_allocate ().
1516	* trans-expr.c (gfc_conv_procedure_call): Special handling
1517	for _copy() routine translation, that comes without an
1518	interface. Third and fourth argument are now passed by value.
1519	* trans-stmt.c (gfc_trans_allocate): Get expr3 array
1520	descriptor for temporary arrays to allow allocate(array,
1521	source = array_expression) for array without array
1522	specification.
1523
15242015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1525
1526	* intrinsic.texi:  Change \leq to < in descrition of imaginary
1527	part in argument to log.
1528
15292015-06-11  Paul Thomas  <pault@gcc.gnu.org>
1530
1531	PR fortran/66079
1532	* trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
1533	function results must be freed and nullified after use. Create
1534	a temporary to hold the result to prevent duplicate calls.
1535	* trans-stmt.c (gfc_trans_allocate): Rename temporary variable
1536	as 'source'. Deallocate allocatable components of non-variable
1537	'source's.
1538
15392015-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
1540
1541	* f95-lang.c (gfc_create_decls): Register the main translation unit
1542	through the new debug hook.
1543
15442015-06-08  Andrew MacLeod  <amacleod@redhat.com>
1545
1546	* convert.c : Adjust include files.
1547	* cpp.c : Likewise.
1548	* decl.c : Likewise.
1549	* f95-lang.c : Likewise.
1550	* gfortran.h : Likewise.
1551	* iresolve.c : Likewise.
1552	* match.c : Likewise.
1553	* module.c : Likewise.
1554	* openmp.c : Likewise.
1555	* options.c : Likewise.
1556	* target-memory.c : Likewise.
1557	* trans-array.c : Likewise.
1558	* trans-common.c : Likewise.
1559	* trans-const.c : Likewise.
1560	* trans-decl.c : Likewise.
1561	* trans-expr.c : Likewise.
1562	* trans-intrinsic.c : Likewise.
1563	* trans-io.c : Likewise.
1564	* trans-openmp.c : Likewise.
1565	* trans-stmt.c : Likewise.
1566	* trans-types.c : Likewise.
1567	* trans.c : Likewise.
1568
15692015-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
1570
1571	PR fortran/66245
1572	* match.c (gfc_match_type_is, gfc_match_class_is):  Check if the
1573	return type spec or derived type spec is validate.
1574
15752015-06-06  Thomas Koenig  <tkoenig@netcologne.de>
1576
1577	PR fortran/47659
1578	* arith.c (eval_intrinsic_op): Set warn flag for
1579	gfc_type_convert_binary if -Wconversion or -Wconversion-extra
1580	are set.
1581	(wprecision_real_real): New function.
1582	(wprecision_int_real): New function.
1583	(gfc_int2int): If -fno-range-check and -Wconversion are specified
1584	and it is a narrowing conversion, warn.
1585	(gfc_int2real): If there is a change in value for the conversion,
1586	warn.
1587	(gfc_int2complex):  Likewise.
1588	(gfc_real2int): If there is a fractional part to the real number,
1589	warn with -Wconversion, otherwise warn with -Wconversion-extra.
1590	(gfc_real2real): Emit warning if the constant was changed by
1591	conversion with either -Wconversion or -Wconversion-extra.  With
1592	-Wconversion-extra, warn if no warning was issued earlier.
1593	(gfc_real2complex):  Likewise.
1594	(gfc_complex2int): For -Wconversion or -Wconversion-extra, if
1595	there was an imaginary part, warn; otherwise, warn for change in
1596	value.  Warn with -Wconversion-extra if no other warning was
1597	issued.
1598	(gfc_complex2real): For -Wconversion or -Wconversion-extra, if
1599	there was an imaginary part, warn; otherwise, warn for change in
1600	value. Warn with -Wconversion-extra if no other warning was
1601	issued.
1602	(gfc_complex2complex):  For -Wconversion, warn if the value of
1603	either the real or the imaginary part was changed.  Warn for
1604	-Wconversion-extra if no prior warning was issued.
1605	* expr.c (gfc_check_assign):  Remove check for change in value.
1606	* primary.c (match_real_constant): For -Wconversion-extra, check
1607	against a number in which the last non-zero digit has been
1608	replaced with a zero.  If the number compares equal, warn.
1609	* intrinsic.c (gfc_convert_type_warn):  Do not warn about constant
1610	conversions.
1611
16122015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>
1613
1614	PR fortran/66347
1615	* resolve.c (apply_default_init_local): Do not dereference a NULL
1616	pointer.
1617
16182015-06-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1619
1620	PR fortran/66385
1621	* frontend-passes.c (combine_array_constructor): Return early if
1622	inside a FORALL loop.
1623
16242015-06-05  Aldy Hernandez  <aldyh@redhat.com>
1625
1626	* f95-lang.c (gfc_write_global_declarations): Remove.
1627	(LANG_HOOKS_WRITE_GLOBALS): Remove.
1628	(gfc_write_global_declarations): Move code from here to...
1629	(gfc_be_parse_file): ...here.
1630	Call global_decl_processing.
1631	* trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl
1632	to early_global_decl.
1633
16342015-06-05  Russell Whitesides  <russelldub@gmail.com>
1635	    Steven G. Kargl  <kargl@gcc.gnu.org>
1636
1637	PR fortran/40958
1638	PR fortran/60780
1639	PR fortran/66377
1640	* module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
1641	from different modules.  Eliminate the pruning of unused
1642	equivalence-objects
1643
16442015-06-04  Thomas Koenig  <tkoenig@netcologne.de>
1645
1646	PR fortran/58749
1647	* iresolve.c (gfc_resolve_adjustl):  If string has a charlen,
1648	copy it to the function.
1649	(gfc_resolve_adjustr):  Likewise.
1650
16512015-06-04  Andrew MacLeod  <amacleod@redhat.com>
1652
1653	* convert.c: Adjust includes for restructured coretypes.h.
1654	* cpp.c: Likewise.
1655	* decl.c: Likewise.
1656	* f95-lang.c: Likewise.
1657	* iresolve.c: Likewise.
1658	* match.c: Likewise.
1659	* module.c: Likewise.
1660	* options.c: Likewise.
1661	* target-memory.c: Likewise.
1662	* trans-array.c: Likewise.
1663	* trans-common.c: Likewise.
1664	* trans-const.c: Likewise.
1665	* trans-decl.c: Likewise.
1666	* trans-expr.c: Likewise.
1667	* trans-intrinsic.c: Likewise.
1668	* trans-io.c: Likewise.
1669	* trans-openmp.c: Likewise.
1670	* trans-stmt.c: Likewise.
1671	* trans-types.c: Likewise.
1672	* trans.c: Likewise.
1673
16742015-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1675
1676	PR fortran/66380
1677	* simplify.c (gfc_simplify_reshape): Convert assert into returning
1678	NULL, which triggers an error condition.
1679
16802015-05-27  Andre Vehreschild  <vehre@gmx.de>
1681
1682	PR fortran/65548
1683	* trans-stmt.c (gfc_trans_allocate): Add missing location
1684	information for e3rhs.
1685
16862015-05-26  Paul Thomas  <pault@gcc.gnu.org>
1687
1688	PR fortran/66082
1689	* trans-array.c (gfc_conv_array_parameter): Ensure that all
1690	non-variable arrays with allocatable components have the
1691	components deallocated after the procedure call.
1692
16932015-05-24  Mikael Morin  <mikael@gcc.gnu.org>
1694
1695	PR fortran/66257
1696	* resolve.c (resolve_actual_arglist): Don't throw an error
1697	if the argument with procedure pointer component is not a variable.
1698
16992015-05-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1700
1701	PR fortran/44054
1702	* gfortran.h (struct gfc_error_buf): Rename as
1703	gfc_error_buffer. Move closer to push, pop and free
1704	methods. Reimplement using an output_buffer.
1705	* error.c (errors, warnings, warning_buffer, cur_error_buffer):
1706	Delete everywhere in this file.
1707	(error_char): Delete all contents.
1708	(gfc_increment_error_count): Delete.
1709	(gfc_error_now): Update comment. Set error_buffer.flag.
1710	(gfc_warning_check): Do not handle warning_buffer.
1711	(gfc_error_1): Delete.
1712	(gfc_error_now_1): Delete.
1713	(gfc_error_check): Simplify.
1714	(gfc_move_error_buffer_from_to): Renamed from
1715	gfc_move_output_buffer_from_to.
1716	(gfc_push_error): Handle only gfc_error_buffer.
1717	(gfc_pop_error): Likewise.
1718	(gfc_free_error): Likewise.
1719	(gfc_get_errors): Remove warnings and errors.
1720	(gfc_diagnostics_init): Use static error_buffer.
1721	(gfc_error_1,gfc_error_now_1): Delete declarations.
1722	* symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
1723	frontend-passes.c, resolve.c, match.c, parse.c: Replace
1724	gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
1725	everywhere.
1726	* f95-lang.c (gfc_be_parse_file): Do not update errorcount and
1727	warningcount here.
1728	* primary.c (match_complex_constant): Replace gfc_error_buf and
1729	output_buffer with gfc_error_buffer.
1730
17312015-05-22  Jim Wilson  <jim.wilson@linaro.org>
1732
1733	* Make-lang.in (check_gfortran_parallelize): Update comment.
1734
17352015-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1736
1737	PR fortran/66176
1738	* frontend-passes.c (check_conjg_variable):  New function.
1739	(inline_matmul_assign):  Use it to keep track of conjugated
1740	variables.
1741
17422015-05-20  Andre Vehreschild  <vehre@gmx.de>
1743
1744	PR fortran/65548
1745	* trans-stmt.c (gfc_trans_allocate): Always retrieve the
1746	descriptor or a reference to a source= expression for
1747	arrays and non-arrays, respectively.  Use a temporary
1748	symbol and gfc_trans_assignment for all source=
1749	assignments to allocated objects besides for class and
1750	derived types.
1751
17522015-05-19  Jakub Jelinek  <jakub@redhat.com>
1753
1754	PR middle-end/66199
1755	* trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
1756	combined constructs.
1757	(gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
1758	BIND_EXPR_BLOCK.
1759
17602015-05-19  David Malcolm  <dmalcolm@redhat.com>
1761
1762	* cpp.c (maybe_print_line): Strengthen local "map" from
1763	const line_map * to const line_map_ordinary *.
1764	(cb_file_change): Likewise for param "map" and local "from".
1765	(cb_line_change): Likewise for local "map".
1766
17672015-05-19  Mikhail Maltsev  <maltsevm@gmail.com>
1768
1769	* interface.c (compare_actual_formal): Use std::swap instead of
1770	explicit swaps.
1771	* trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
1772	* trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.
1773
17742015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1775
1776	PR fortran/66106
1777	* interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
1778	* match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
1779
17802015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1781
1782	PR fortran/66057
1783	* decl.c(gfc_match_generic):  Detected a malformed GENERIC statement.
1784
17852015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1786
1787	PR fortran/66043
1788	* gfortran.dg/storage_size_6.f90: New tests.
1789
17902015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1791
1792	PR fortran/66043
1793	* gfortran.dg/storage_size_6.f90: New tests.
1794
17952015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1796
1797	PR fortran/66044
1798	* decl.c(gfc_match_entry):  Change a gfc_internal_error() into
1799	a gfc_error()
1800
18012015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1802
1803	PR fortran/66043
1804	* gfortran.dg/storage_size_6.f90: New tests.
1805
18062015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1807
1808	PR fortran/66040
1809	* parse.c(verify_st_order): Replace a gfc_internal_error with your
1810	generic gfc_error.
1811
18122015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1813
1814	PR fortran/66039
1815	* io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
1816	BACKSPACE, and ENDFILE statements
1817
18182015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1819
1820	PR fortran/64925
1821	* symbol.c(check_conflict):  Check for a conflict between a dummy
1822	argument and an internal procedure name.
1823
18242015-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1825
1826	PR fortran/65903
1827	* io.c (format_lex): Change to NONSTRING when checking for
1828	possible doubled quote.
1829	* scanner.c (gfc_next_char_literal): Revert change from 64506
1830	and add a check for quotes and return.
1831
18322015-05-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
1833
1834	PR fortran/66113
1835	* expr.c (is_parent_of_current_ns):  New function.
1836	(check_restricted):  Use it.
1837
18382015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1839
1840	PR fortran/44054
1841
1842	Replace all calls to gfc_notify_std_1 with gfc_notify_std and
1843	gfc_warning_1 with gfc_warning.
1844	* decl.c (gfc_verify_c_interop_param): Here.
1845	* resolve.c (resolve_branch): Here.
1846	(resolve_fl_derived): Here.
1847	* dependency.c (gfc_check_argument_var_dependency):
1848	* scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
1849	counter and locations before and after warning.
1850	* gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
1851	Delete.
1852	(gfc_warning_now_at): Declare.
1853	* error.c (gfc_warning_1): Delete.
1854	(gfc_notify_std_1): Delete.
1855	(gfc_warning_now_1): Delete.
1856	(gfc_format_decoder): Handle two locations.
1857	(gfc_diagnostic_build_prefix): Rename as
1858	gfc_diagnostic_build_kind_prefix.
1859	(gfc_diagnostic_build_locus_prefix): Take an expanded_location
1860	instead of diagnostic_info.
1861	(gfc_diagnostic_build_locus_prefix): Add overload that takes two
1862	expanded_location.
1863	(gfc_diagnostic_starter): Handle two locations.
1864	(gfc_warning_now_at): New.
1865	(gfc_diagnostics_init): Initialize caret_chars array.
1866	(gfc_diagnostics_finish): Reset caret_chars array to default.
1867
18682015-05-16  Mikael Morin  <mikael@gcc.gnu.org>
1869	    Paul Thomas  <pault@gcc.gnu.org>
1870
1871	PR fortran/65792
1872	* trans-expr.c (gfc_trans_subcomponent_assign): Always assign
1873	the expression component to the destination. In addition, if
1874	the component has allocatable components, copy them and
1875	deallocate those of the expression, if it is not a variable.
1876	The expression is fixed if not a variable to prevent multiple
1877	evaluations.
1878
18792015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
1880
1881	PR fortran/66111
1882	* frontend-passes.c (has_dimen_vector_ref):  New function.
1883	(inline_matmul_assign):  Use it to return early in case
1884	of unhandled vector subscripts.
1885
18862015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
1887
1888	PR fortran/66041
1889	PR fortran/37131
1890	* gfortran.h (gfc_array_spec):  Add field resolved.
1891	* array.c (gfc_resolve_array_spec):  Resolve array spec
1892	only once.
1893
18942015-05-11  Mikael Morin  <mikael@gcc.gnu.org>
1895
1896	PR fortran/66100
1897	* simplify.c (simplify_bound): Fix assert to accept subobject arrays.
1898
18992015-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
1900
1901	PR fortran/66041
1902	* frontend-passes.c (scalarized_expr): Set correct dimension and
1903	shape for the expression to be passed to lbound. Remove trailing
1904	references after array refrence.
1905	(inline_matmul_assign):  Remove gfc_copy_expr from calls
1906	to scalarized_expr().
1907
19082015-05-10  Mikael Morin  <mikael@gcc.gnu.org>
1909
1910	* simplify.c (simplify_bound_dim): Don't check for emptyness
1911	in the case of cobound simplification.  Factor lower/upper
1912	bound differenciation before the actual simplification.
1913	(simplify_bound): Remove assumed shape specific simplification.
1914	Don't give up early for the lbound of an assumed shape.
1915
19162015-05-09  Mikael Morin  <mikael@gcc.gnu.org>
1917
1918	PR fortran/65894
1919	* trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
1920	New prototype.
1921	* trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
1922	New function.
1923	(gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
1924	as conditional.
1925	(gfc_walk_elemental_function_args): Set the dummy_arg field.
1926	* trans.h (gfc_ss_info): New subfield dummy_arg.
1927	* trans-expr.c (gfc_conv_procedure_call): Revert the change
1928	of revision 222361.
1929	(gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
1930	as conditional.
1931
19322015-05-08  Mikael Morin  <mikael@gcc.gnu.org>
1933
1934	* trans-array.c (gfc_walk_elemental_function_args):
1935	Don't skip the advance to the next dummy argument when skipping
1936	absent optional args.
1937
19382015-05-05  David Malcolm  <dmalcolm@redhat.com>
1939
1940	* expr.c (check_inquiry): Fix indentation so that it reflects the
1941	block structure.
1942	* interface.c (compare_parameter): Likewise.
1943	* parse.c (parse_oacc_structured_block): Likewise.
1944	* target-memory.c (expr_to_char): Likewise.
1945	* trans-types.c (gfc_init_kinds): Likewise.
1946
19472015-05-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1948
1949	PR fortran/65976
1950	* invoke.texi:  Remove 'no-' in '-fno-fixed-form'
1951
19522015-05-01  Mikael Morin  <mikael@gcc.gnu.org>
1953
1954	* simplify.c (simplify_bound_dim): Tighten the check for array fullness
1955	by also checking for absence of subreference.
1956	(simplify_bound): Don't skip simplification if the array
1957	has subreferences.
1958	(simplify_cobound): Same.
1959
19602015-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
1961
1962	PR fortran/37131
1963	* simplify.c (simplify_bound): Get constant lower bounds of one
1964	from array spec for assumed and explicit shape shape arrays if
1965	the lower bounds are indeed one.
1966
19672015-04-30  David Malcolm  <dmalcolm@redhat.com>
1968
1969	* options.c (gfc_init_options): Remove spurious second
1970	semicolon.
1971	* trans-stmt.c (gfc_trans_allocate): Likewise.
1972
19732015-04-28  Andre Vehreschild  <vehre@gmx.de>
1974
1975	* interface.c (gfc_compare_types): Check for unlimited
1976	polymorphism flag in the correct position indepent of the _data
1977	component being present or not.  This prevents a segfault, when
1978	the _data component is not present.
1979	* symbol.c (gfc_type_compatible): Same.
1980
19812015-04-27  Jim Wilson  <jim.wilson@linaro.org>
1982
1983	* Make-lang.in (fortran.mostlyclean): Remove gfortran and
1984	gfortran-cross.
1985
19862015-04-27  Andre Vehreschild  <vehre@gmx.de>
1987
1988	PR fortran/59678
1989	PR fortran/65841
1990	* trans-array.c (duplicate_allocatable): Fixed deep copy of
1991	allocatable components, which are liable for copy only, when
1992	they are allocated.
1993	(gfc_duplicate_allocatable): Add deep-copy code into if
1994	component allocated block. Needed interface change for that.
1995	(gfc_copy_allocatable_data): Supplying NULL_TREE for code to
1996	add into if-block for checking whether a component was
1997	allocated.
1998	(gfc_duplicate_allocatable_nocopy): Likewise.
1999	(structure_alloc_comps): Likewise.
2000	* trans-array.h: Likewise.
2001	* trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
2002	* trans-openmp.c (gfc_walk_alloc_comps): Likewise.
2003
20042015-04-23  Andre Vehreschild  <vehre@gmx.de>
2005
2006	PR fortran/60322
2007	* expr.c (gfc_lval_expr_from_sym): Code to select the regular
2008	or class array added.
2009	* gfortran.h: Add IS_CLASS_ARRAY macro.
2010	* trans-array.c (gfc_add_loop_ss_code): Treat class objects
2011	to be referenced always.
2012	(build_class_array_ref): Adapt retrieval of array descriptor.
2013	(build_array_ref): Likewise.
2014	(gfc_conv_array_ref): Hand the vptr or the descriptor to
2015	build_array_ref depending whether the sym is class or not.
2016	(gfc_trans_array_cobounds):  Select correct gfc_array_spec for
2017	regular and class arrays.
2018	(gfc_trans_array_bounds): Likewise.
2019	(gfc_trans_dummy_array_bias): Likewise.
2020	(gfc_get_dataptr_offset): Correcting call of build_array_ref.
2021	(gfc_conv_expr_descriptor): Set the array's offset to -1 when
2022	lbound in inner most dim is 1 and symbol non-pointer/assoc.
2023	* trans-decl.c (gfc_build_qualified_array): Select correct
2024	gfc_array_spec for regular and class arrays.
2025	(gfc_build_dummy_array_decl): Likewise.
2026	(gfc_get_symbol_decl): Get a dummy array for class arrays.
2027	(gfc_trans_deferred_vars): Tell conv_expr that the descriptor
2028	is desired.
2029	* trans-expr.c (gfc_class_vptr_get): Get the class descriptor
2030	from the correct location for class arrays.
2031	(gfc_class_len_get): Likewise.
2032	(gfc_conv_intrinsic_to_class): Add handling of _len component.
2033	(gfc_conv_class_to_class):  Prevent access to unset array data
2034	when the array is an optional argument. Add handling of _len
2035	component.
2036	(gfc_copy_class_to_class): Check that _def_init is non-NULL
2037	when used in _vptr->copy()
2038	(gfc_trans_class_init_assign): Ensure that the rank of
2039	_def_init is zero.
2040	(gfc_conv_component_ref): Get the _vptr along with _data refs.
2041	(gfc_conv_variable): Make sure the temp array descriptor is
2042	returned for class arrays, too, and that class arrays are
2043	dereferenced correctly.
2044	(gfc_conv_procedure_call): For polymorphic type initialization
2045	the initializer has to be a pointer to _def_init stored in a
2046	dummy variable, which then needs to be used by value.
2047	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
2048	temporary array descriptor for class arrays, too.
2049	(gfc_conv_intrinsic_storage_size): Likewise.
2050	(gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
2051	expressions.
2052	* trans-stmt.c (trans_associate_var): Use a temporary array for
2053	the associate variable of class arrays, too, making the array
2054	one-based (lbound == 1).
2055	* trans-types.c (gfc_is_nodesc_array): Use the correct
2056	array data.
2057	* trans.c (gfc_build_array_ref): Use the dummy array descriptor
2058	when present.
2059	* trans.h: Add class_vptr to gfc_se for storing a class ref's
2060	vptr.
2061
20622015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>
2063
2064	PR fortran/65429
2065	* decl.c (add_init_expr_to_sym): Set the length type parameter.
2066
20672015-04-10  Tobias Burnus  <burnus@net-b.de>
2068
2069	* trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
2070	version; reject not-yet-implemented variants.
2071	* trans-types.c (gfc_get_derived_type): For lock_type with
2072	-fcoarray=lib, use a void pointer as type.
2073	* trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
2074	Handle lock_type with -fcoarray=lib.
2075
20762015-04-10  Mikael Morin  <mikael@gcc.gnu.org>
2077
2078	PR fortran/56674
2079	PR fortran/58813
2080	PR fortran/59016
2081	PR fortran/59024
2082	* symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
2083	former to the latter and make it non-static.  Update callers.
2084	* gfortran.h (gfc_save_symbol_data): New prototype.
2085	* decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
2086	before modifying symbols 'sym' and 'dt_sym'.
2087
20882013-04-09  Paul Thomas  <pault@gcc.gnu.org>
2089
2090	PR fortran/56852
2091	* primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
2092	of the index variables are untyped and errors are present.
2093
20942015-04-07  Andre Vehreschild  <vehre@gmx.de>
2095
2096	PR fortran/65548
2097	* trans-stmt.c (gfc_trans_allocate): For intrinsic functions
2098	use conv_expr_descriptor() instead of conv_expr_reference().
2099
21002015-03-30  Jakub Jelinek  <jakub@redhat.com>
2101
2102	PR fortran/65597
2103	* trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
2104	linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
2105	For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
2106	instead of the original step on the new iterator - count.
2107
21082015-03-25  Mikael Morin  <mikael@gcc.gnu.org>
2109
2110	PR fortran/64952
2111	PR fortran/65532
2112	* gfortran.h (struct gfc_namespace): New field 'types_resolved'.
2113	* resolve.c (resolve_types): Return early if field 'types_resolved'
2114	is set.  Set 'types_resolved' at the end.
2115
21162015-03-24  Andre Vehreschild  <vehre@gmx.de>
2117
2118	PR fortran/55901
2119	* trans-expr.c (gfc_conv_structure): Fixed indendation.
2120	Using integer_zero_node now instead of explicitly
2121	constructing a integer constant zero node.
2122	(gfc_conv_derived_to_class): Add handling of _len component,
2123	i.e., when the rhs has a string_length then assign that to
2124	class' _len, else assign 0.
2125	(gfc_conv_intrinsic_to_class): Likewise.
2126
21272015-03-24  Andre Vehreschild  <vehre@gmx.de>
2128
2129	PR fortran/64787
2130	PR fortran/57456
2131	PR fortran/63230
2132	* class.c (gfc_add_component_ref):  Free no longer needed
2133	ref-chains to prevent memory loss.
2134	(find_intrinsic_vtab): For deferred length char arrays or
2135	unlimited polymorphic objects, store the size in bytes of one
2136	character in the size component of the vtab.
2137	* gfortran.h: Added gfc_add_len_component () define.
2138	* trans-array.c (gfc_trans_create_temp_array): Switched to new
2139	function name for getting a class' vtab's field.
2140	(build_class_array_ref): Likewise.
2141	(gfc_array_init_size): Using the size information from allocate
2142	more consequently now, i.e., the typespec of the entity to
2143	allocate is no longer needed.  This is to address the last open
2144	comment in PR fortran/57456.
2145	(gfc_array_allocate): Likewise.
2146	(structure_alloc_comps): gfc_copy_class_to_class () needs to
2147	know whether the class is unlimited polymorphic.
2148	* trans-array.h: Changed interface of gfc_array_allocate () to
2149	reflect the no longer needed typespec.
2150	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
2151	(gfc_reset_len): New.
2152	(gfc_get_class_array_ref): Switch to new function name for
2153	getting a class' vtab's field.
2154	(gfc_copy_class_to_class):  Added flag to know whether the class
2155	to copy is unlimited polymorphic.  Adding _len dependent code
2156	then, which calls ->vptr->copy () with four arguments adding
2157	the length information ->vptr->copy(from, to, from_len, to_cap).
2158	(gfc_conv_procedure_call): Switch to new function name for
2159	getting a class' vtab's field.
2160	(alloc_scalar_allocatable_for_assignment): Use the string_length
2161	as computed by gfc_conv_expr and not the statically backend_decl
2162	which may be incorrect when ref-ing.
2163	(gfc_trans_assignment_1): Use the string_length variable and
2164	not the rse.string_length.  The former has been computed more
2165	generally.
2166	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
2167	function name for getting a class' vtab's field.
2168	(gfc_conv_intrinsic_storage_size): Likewise.
2169	(gfc_conv_intrinsic_transfer): Likewise.
2170	* trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
2171	source=expr3 only once before the loop over the objects to
2172	allocate, when the objects are not arrays. Doing correct _len
2173	initialization and calling of vptr->copy () fixing PR 64787.
2174	(gfc_trans_deallocate): Reseting _len to 0, preventing future
2175	errors.
2176	* trans.c (gfc_build_array_ref): Switch to new function name
2177	for getting a class' vtab's field.
2178	(gfc_add_comp_finalizer_call): Likewise.
2179	* trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
2180	and gfc_vptr_*_get () functions.
2181	Added gfc_find_and_cut_at_last_class_ref () and
2182	gfc_reset_len () routine prototype.  Added flag to
2183	gfc_copy_class_to_class () prototype to signal an unlimited
2184	polymorphic entity to copy.
2185
21862015-03-24  Iain Sandoe  <iain@codesourcery.com>
2187	    Tobias Burnus  <burnus@net-b.de>
2188
2189	* gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
2190
21912015-03-23  Paul Thomas  <pault@gcc.gnu.org>
2192	    Mikael Morin  <mikael@gcc.gnu.org>
2193
2194	PR fortran/64952
2195	* gfortran.h (struct symbol_attribute) : New field
2196	'array_outer_dependency'.
2197	* trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
2198	* module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
2199	(attr_bits): Append same value to initializer.
2200	(mio_symbol_attribute): Handle 'array_outer_dependency' attr
2201	in module read and write.
2202	* resolve.c (update_current_proc_outer_array_dependency): New function.
2203	(resolve_function, resolve_call): Add code to update current procedure's
2204	'array_outer_dependency' attribute.
2205	(resolve_variable): Mark current procedure with attribute
2206	array_outer_dependency if the variable is an array coming from outside
2207	the current namespace.
2208	(resolve_fl_procedure): Mark a procedure without body with attribute
2209	'array_outer_dependency'.
2210	* trans-array.c (gfc_conv_resolve_dependencies): If any ss is
2211	marked as 'array_outer_dependency' generate a temporary.
2212	(gfc_walk_function_expr): If the function may reference external arrays,
2213	mark the head gfc_ss with flag 'array_outer_dependency'.
2214
22152015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2216
2217	PR libgfortran/59513
2218	* gfortran.texi (Read/Write after EOF marker): New information.
2219
22202015-03-21  H.J. Lu  <hongjiu.lu@intel.com>
2221
2222	* gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
2223	line.
2224
22252015-03-21  Tobias Burnus  <burnus@net-b.de>
2226
2227	* gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
2228	_gfortran_caf_sync_memory, _gfortran_caf_error_stop,
2229	_gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
2230	_gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
2231	_gfortran_caf_atomic_op): New sections.
2232
22332015-03-21  Tobias Burnus  <burnus@net-b.de>
2234
2235	* trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
2236	coindexed coarray accesses.
2237
22382015-03-17  Paul Thomas  <pault@gcc.gnu.org>
2239
2240	PR fortran/59198
2241	* trans-types.c (gfc_get_derived_type): If an abstract derived
2242	type with procedure pointer components has no other type of
2243	component, return the backend_decl. Otherwise build the
2244	components if any of the non-procedure pointer components have
2245	no backend_decl.
2246
22472015-03-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2248
2249	PR fortran/64432
2250	*trans-intrinisic.c (conv_intrinsic_system_clock): Check the
2251	smallest kind passed in user arguments and hardcode tesults for
2252	KIND=1 or KIND=2 to indicate no clock available.
2253
22542015-03-16  Andre Vehreschild  <vehre@gmx.de>
2255
2256	* resolve.c: Prevent segfault on illegal input.
2257
22582015-03-14  Mikael Morin  <mikael@gcc.gnu.org>
2259
2260	PR fortran/61138
2261	* trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
2262	field before reusing LSE.
2263
22642015-03-11  Janne Blomqvist  <jb@gcc.gnu.org>
2265
2266	PR libfortran/65200
2267	* gfortran.texi: Document behavior when opening files without
2268	explicit ACTION= specifier.
2269
22702015-03-10  Paul Thomas  <pault@gcc.gnu.org>
2271
2272	PR fortran/65024
2273	* trans-expr.c (gfc_conv_component_ref): If the component
2274	backend declaration is missing and the derived type symbol is
2275	available in the reference, call gfc_build_derived_type.
2276
22772015-03-10  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
2278	    Tobias Burnus  <burnus@net-b.de>
2279
2280	* trans.h (caf_sync_memory): New function decl tree.
2281	* trans-decl.c (gfc_build_builtin_function_decls): Define it.
2282	(create_main_function): Don't call sync_synchronize and leave
2283	it to the CAF library.
2284	* trans-stmt.c (gfc_trans_stop): Ditto.
2285	(gfc_trans_sync): Ditto; add call library call for sync memory.
2286
22872015-03-08  Mikael Morin  <mikael@gcc.gnu.org>
2288
2289	PR fortran/60898
2290	* resolve.c (resolve_symbol): Check that the symbol found by
2291	name lookup really is the current symbol being resolved.
2292
22932015-03-02  Tobias Burnus  <burnus@net-b.de>
2294
2295	* check.c (gfc_check_atomic): Properly check for coarrayness
2296	and for being coindexed.
2297
22982015-02-26  Martin Liska  <mliska@suse.cz>
2299
2300	* resolve.c: Rename enum 'comparison' to 'compare_result' as
2301	solution for -Wodr issue.
2302
23032015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
2304
2305	PR libgomp/64625
2306	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2307	Remove macros.
2308	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2309	* types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2310	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2311	Remove function types.
2312	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
2313	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2314	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2315	New function types.
2316
23172015-02-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2318
2319	PR fortran/64980
2320	PR fortran/61960
2321	* trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
2322	for component references to class objects.
2323	(gfc_conv_procedure_call): Compare the class by name.
2324
23252015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2326
2327	PR fortran/64506
2328	* scanner.c (gfc_next_char_literal): For free form source,
2329	check for '!' and if found, clear the comment and go back
2330	and get the next character. For fixed form source, skip the
2331	rest of the line.
2332
23332015-02-12  Paul Thomas  <pault@gcc.gnu.org>
2334
2335	PR fortran/64932
2336	* trans-stmt.c (gfc_trans_deallocate): If a component array
2337	expression is not a descriptor type and it is a derived type
2338	that has allocatable components and is not finalizable, then
2339	deallocate the allocatable components.
2340
23412015-02-08  Mikael Morin  <mikael@gcc.gnu.org>
2342
2343	PR fortran/63744
2344	* module.c (check_for_ambiguous): Change argument type
2345	from gfc_symbol to gfc_symtree.  Check local (symtree) name
2346	instead of original (symbol) name.
2347	(read_module): Update caller.
2348
23492015-02-06  Paul Thomas  <pault@gcc.gnu.org>
2350
2351	PR fortran/63205
2352	* gfortran.h: Add 'must finalize' field to gfc_expr and
2353	prototypes for gfc_is_alloc_class_scalar_function and for
2354	gfc_is_alloc_class_array_function.
2355	* expr.c (gfc_is_alloc_class_scalar_function,
2356	gfc_is_alloc_class_array_function): New functions.
2357	* trans-array.c (gfc_add_loop_ss_code): Do not move the
2358	expression for allocatable class scalar functions outside the
2359	loop.
2360	(conv_array_index_offset): Cope with deltas being NULL_TREE.
2361	(build_class_array_ref): Do not return with allocatable class
2362	array functions. Add code to pick out the returned class array.
2363	Dereference if necessary and return if not a class object.
2364	(gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
2365	(gfc_walk_function_expr): Return an array ss for the result of
2366	an allocatable class array function.
2367	* trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
2368	that the argument should be a variable. If an allocatable class
2369	array function, set the offset to zero and skip the write-out
2370	loop in this case.
2371	(gfc_conv_procedure_call): Add allocatable class array function
2372	to the assert. Call gfc_conv_subref_array_arg for allocatable
2373	class array function arguments with derived type formal arg..
2374	Add the code for handling allocatable class functions, including
2375	finalization calls to prevent memory leaks.
2376	(arrayfunc_assign_needs_temporary): Return if an allocatable
2377	class array function.
2378	(gfc_trans_assignment_1): Set must_finalize to rhs expression
2379	for allocatable class functions. Set scalar_to_array as needed
2380	for scalar class allocatable functions assigned to an array.
2381	Nullify the allocatable components corresponding the the lhs
2382	derived type so that the finalization does not free them.
2383
23842015-01-29  Andre Vehreschild  <vehre@gmx.de>
2385	    Janus Weil  <janus@gcc.gnu.org>
2386
2387	PR fortran/60289
2388	Initial patch by Janus Weil
2389	* resolve.c (resolve_allocate_expr): Add check for comp. only
2390	when target is not unlimited polymorphic.
2391	* trans-stmt.c (gfc_trans_allocate): Assign correct value to
2392	_len component of unlimited polymorphic entities.
2393
23942015-02-05  Tobias Burnus  <burnus@net-b.de>
2395
2396	PR fortran/64943
2397	* resolve.c (resolve_transfer): Also check structure
2398	constructors.
2399
24002015-02-05  Paul Thomas  <pault@gcc.gnu.org>
2401
2402	PR fortran/64757
2403	* resolve.c (resolve_structure_cons): Obtain the rank of class
2404	components.
2405	* trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
2406	assignment to allocatable class array components.
2407	(alloc_scalar_allocatable_for_subcomponent_assignment): If comp
2408	is a class component, allocate to the _data field.
2409	(gfc_trans_subcomponent_assign): If a class component with a
2410	derived type expression set the _vptr field and for array
2411	components, call gfc_trans_alloc_subarray_assign. For scalars,
2412	the assignment is performed here.
2413
24142015-02-04  Jakub Jelinek  <jakub@redhat.com>
2415
2416	* options.c: Include langhooks.h.
2417	(gfc_post_options): Change lang_hooks.name based on
2418	selected -std= mode.
2419
24202015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>
2421
2422	* intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
2423
24242015-01-30  Andre Vehreschild  <vehre@gmx.de>
2425
2426	* trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
2427	* trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
2428	Fixed datatype of charlen to be a 32-bit int.
2429
24302015-02-01  Joseph Myers  <joseph@codesourcery.com>
2431
2432	* error.c (gfc_warning (const char *, ...), gfc_warning_now (const
2433	char *, ...)): Remove functions.
2434	* gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
2435	(const char *, ...)): Remove declarations.
2436	* arith.c, check.c, data.c, decl.c, frontend-passes.c,
2437	interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
2438	options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
2439	trans-common.c, trans-const.c, trans-stmt.c: All callers of
2440	gfc_warning and gfc_warning_now changed to pass 0 or option number
2441	as first argument.
2442
24432015-01-30  Joseph Myers  <joseph@codesourcery.com>
2444
2445	* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
2446	callers of fatal_error changed to pass input_location as first
2447	argument.
2448
24492015-01-28  Tobias Burnus  <burnus@net-b.de>
2450
2451	* intrinsic.texi (CO_BROADCAST): Correct argument description.
2452
24532015-01-27  Tobias Burnus  <burnus@net-b.de>
2454
2455	PR fortran/63861
2456	* trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
2457	Fix handling for scalar coarrays.
2458	* trans-types.c (gfc_get_element_type): Add comment.
2459
24602015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2461
2462	PR fortran/64771
2463	* interface.c: Remove <algorithm>.
2464	(check_dummy_characteristics): Use MAX instead of std::max.
2465
24662015-01-26  Paul Thomas  <pault@gcc.gnu.org>
2467
2468	PR fortran/62044
2469	* resolve.c (resolve_allocate_expr): If the default initializer
2470	is NULL, keep the original MOLD expression so that the correct
2471	typespec is available.
2472
24732015-01-26  Tobias Burnus  <burnus@net-b.de>
2474
2475	PR fortran/64771
2476	* interface.c (check_dummy_characteristics): Fix coarray handling.
2477
24782015-01-26  Tobias Burnus  <burnus@net-b.de>
2479
2480	* io.c (gfc_match_inquire): Replace "-1" by a defined constant.
2481
24822015-01-26  Janus Weil  <janus@gcc.gnu.org>
2483
2484	PR fortran/64230
2485	* class.c (finalize_component): New argument 'sub_ns'. Insert code to
2486	check if 'expr' is associated.
2487	(generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
2488	'ptr2'. Pass 'sub_ns' to finalize_component.
2489
24902015-01-25  Mikael Morin  <mikael@gcc.gnu.org>
2491
2492	PR fortran/62044
2493	* decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
2494	* module.c (MOD_VERSION): Bump.
2495	(write_module): Don't write list of extensions.
2496	(read_module): Don't jump over list of extensions;
2497	don't load list of extensions.
2498	(load_derived_extensions, write_dt_extensions,
2499	 write_derived_extensions): Remove.
2500
25012015-01-24  Tobias Burnus  <burnus@net-b.de>
2502
2503	* parse.c (gfc_parse_file): Fix two-location gfc_error call.
2504
25052015-01-23  Martin Liska  <mliska@suse.cz>
2506
2507	* decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
2508	false positive during profiledbootstrap by initializing them.
2509	* matchexp.c (match_mult_operand): Likewise.
2510	* module.c (write_atom): Likewise.
2511	(read_module): Likewise.
2512
25132015-01-23  Tom de Vries  <tom@codesourcery.com>
2514
2515	PR libgomp/64672
2516	* lang.opt (fopenacc): Mark as LTO option.
2517
25182015-01-23  Tom de Vries  <tom@codesourcery.com>
2519
2520	PR libgomp/64707
2521	* lang.opt (fopenmp): Mark as LTO option.
2522
25232015-01-23  Andre Vehreschild  <vehre@gmx.de>
2524
2525	* trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
2526	* trans-stmt.c (gfc_trans_allocate): Fixed indentation.
2527
25282015-01-23  Jakub Jelinek  <jakub@redhat.com>
2529
2530	* gfc-diagnostic.def (DK_ICE_NOBT): New kind.
2531
25322015-01-23  Janus Weil  <janus@gcc.gnu.org>
2533
2534	PR fortran/60922
2535	* class.c (finalize_component): Apply the check for 'fini_coarray' only
2536	to coarray components.
2537
25382015-01-23  Tobias Burnus  <burnus@net-b.de>
2539
2540	PR fortran/64726
2541	* trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
2542	loop generation.
2543
25442015-01-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2545
2546	PR fortran/61933
2547	* libgfortran.h:
2548	* trans-io.c (set_parameter_value): Delete use of has_iostat.
2549	Redefine to not generate any runtime error check calls.
2550	(set_parameter_value_chk): Rename of the former
2551	set_parameter_value with the runtime error checks and fix
2552	whitespace. (set_parameter_value_inquire): New function that
2553	builds a runtime conditional block to set the INQUIRE
2554	common parameter block unit number to -2 when unit numbers
2555	exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
2556	For unit, use the renamed set_parameter_value_chk.
2557	(gfc_trans_close): Likewise use renamed function.
2558	(build_filepos): Whitespace and use renamed function.
2559	(gfc_trans_inquire): Whitespace and for unit use
2560	set_parameter_value and set_parameter_value_inquire.
2561	(gfc_trans_wait): Remove p->iostat from call to
2562	set_parameter_value. Use new set_parameter_value_chk for unit.
2563	(build_dt): Use the new set_parameter_value without p->iostat
2564	and fix whitespace. Use set_parameter_value_chk for unit.
2565
25662015-01-21  Thomas Koenig  <tkoenig@netcologne.de>
2567
2568	PR fortran/57023
2569	* dependency.c (callback_dummy_intent_not_int):  New function.
2570	(dummy_intent_not_in):  New function.
2571	(gfc_full_array_ref_p):  Use dummy_intent_not_in.
2572
25732015-01-18  Andre Vehreschild  <vehre@gmx.de>
2574	    Janus Weil <janus@gcc.gnu.org>
2575
2576	PR fortran/60255
2577	* class.c (gfc_get_len_component): New.
2578	(gfc_build_class_symbol): Add _len component to unlimited
2579	polymorphic entities.
2580	(find_intrinsic_vtab): Removed emitting of error message.
2581	* gfortran.h: Added prototype for gfc_get_len_component.
2582	* simplify.c (gfc_simplify_len): Use _len component where
2583	available.
2584	* trans-expr.c (gfc_class_len_get): New.
2585	(gfc_conv_intrinsic_to_class): Add handling for deferred
2586	character arrays.
2587	(gfc_conv_structure): Treat _len component correctly.
2588	(gfc_conv_expr): Prevent bind_c handling when not required.
2589	(gfc_trans_pointer_assignment): Propagate _len component.
2590	* trans-stmt.c (class_has_len_component): New.
2591	(trans_associate_var): _len component treatment for associate
2592	context.
2593	(gfc_trans_allocate): Same as for trans_associate_var()
2594	* trans.h: Added prototype for gfc_class_len_get.
2595
25962015-01-18  Paul Thomas  <pault@gcc.gnu.org>
2597
2598	PR fortran/57959
2599	* trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
2600	for allocatable components, where the source is a variable.
2601
26022015-01-18  Paul Thomas  <pault@gcc.gnu.org>
2603
2604	PR fortran/55901
2605	* primary.c (gfc_match_varspec): Exclude dangling associate-
2606	names with dimension 0 from being counted as arrays.
2607	* resolve.c (resolve_assoc_var): Sub-strings are permissible
2608	for associate-names, so exclude characters from the test for
2609	misuse as arrays.
2610	* trans-decl.c (gfc_get_symbol_decl): Associate-names can use
2611	the hidden string length variable of their associated target.
2612	Signal this by setting 'length' to a constant, if the decl for
2613	the string length is a variable.
2614
26152015-01-17  Paul Thomas  <pault@gcc.gnu.org>
2616
2617	PR fortran/64578
2618	* trans-expr.c (gfc_trans_pointer_assignment): Make sure that
2619	before reinitializing rse, to add the rse.pre to block before
2620	creating 'ptrtemp'.
2621	* trans-intrinsic.c (gfc_conv_associated): Deal with the class
2622	data being a descriptor.
2623
26242015-01-17  Andre Vehreschild  <vehre@gmx.de>
2625
2626	PR fortran/60357
2627	* primary.c (build_actual_constructor): Prevent warning.
2628	* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
2629	assignment): New function encapsulates treatment of allocatable
2630	components.
2631	(gfc_trans_subcomponent_assign): Needed to distinguish between
2632	regular assignment and initilization.
2633	(gfc_trans_structure_assign): Same.
2634	(gfc_conv_structure): Same.
2635
2636	PR fortran/61275
2637	* gfortran.h: deferred_parameter is not needed, because
2638	it artificial does the trick completely.
2639	* primary.c (build_actual_constructor): Same.
2640	(gfc_convert_to_structure_constructor): Same.
2641	* resolve.c (resolve_fl_derived0): Same.
2642	* trans-expr.c (gfc_conv_component_ref): Prevent treating
2643	allocatable deferred length char arrays here.
2644	(gfc_trans_subcomponent_assign): Same as above.
2645	* trans-types.c (gfc_sym_type): This is done in
2646	gfc_get_derived_type already.
2647
26482015-01-17  Andre Vehreschild  <vehre@gmx.de>
2649
2650	PR fortran/60334
2651	* trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
2652	length when the symbol is declared to be a result.
2653	* trans-expr.c (gfc_conv_procedure_call): Strip deref on the
2654	string length when functions are nested and the string length
2655	is a reference already.
2656
26572015-01-16  Janus Weil  <janus@gcc.gnu.org>
2658
2659	PR fortran/45290
2660	* decl.c (match_pointer_init): Error out if resolution of init expr
2661	failed.
2662
26632015-01-15  Tobias Burnus  <burnus@net-b.de>
2664
2665	* openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
2666	resolve_oacc_deviceptr_clause, resolve_omp_clauses,
2667	gfc_resolve_oacc_declare): Replace '%s' by %qs.
2668
26692015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
2670	    Cesar Philippidis  <cesar@codesourcery.com>
2671	    James Norris  <jnorris@codesourcery.com>
2672	    Ilmir Usmanov  <i.usmanov@samsung.com>
2673	    Tobias Burnus  <burnus@net-b.de>
2674
2675	* lang.opt (fopenacc): New option.
2676	* cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
2677	* dump-parse-tree.c (show_omp_node): Split part of it into...
2678	(show_omp_clauses): ... this new function.
2679	(show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
2680	EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2681	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2682	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2683	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2684	(show_namespace): Update for OpenACC.
2685	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
2686	(DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
2687	(DEF_GOACC_BUILTIN_COMPILER): New macros.
2688	* types.def (BT_FN_VOID_INT_INT_VAR)
2689	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2690	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2691	New function types.
2692	* gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
2693	ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2694	ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
2695	ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
2696	ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
2697	ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
2698	ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2699	ST_OACC_ROUTINE.
2700	(struct gfc_expr_list): New data type.
2701	(gfc_get_expr_list): New macro.
2702	(gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
2703	OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
2704	OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
2705	(OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
2706	(OMP_LIST_CACHE): New enumerators.
2707	(struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
2708	vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
2709	wait_list, tile_list, async, gang, worker, vector, seq,
2710	independent, wait, par_auto, gang_static, and loc members.
2711	(struct gfc_namespace): Add oacc_declare_clauses member.
2712	(gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
2713	EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
2714	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2715	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2716	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2717	(gfc_free_expr_list, gfc_resolve_oacc_directive)
2718	(gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
2719	(gfc_resolve_oacc_blocks): New prototypes.
2720	* match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
2721	EXEC_OACC_PARALLEL_LOOP.
2722	* match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
2723	(gfc_match_oacc_update, gfc_match_oacc_declare)
2724	(gfc_match_oacc_loop, gfc_match_oacc_host_data)
2725	(gfc_match_oacc_data, gfc_match_oacc_kernels)
2726	(gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
2727	(gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
2728	(gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
2729	prototypes.
2730	* openmp.c: Include "diagnostic.h" and "gomp-constants.h".
2731	(gfc_free_omp_clauses): Update for members added to struct
2732	gfc_omp_clauses.
2733	(gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
2734	openacc parameter.
2735	(resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
2736	(struct fortran_omp_context): Add is_openmp member.
2737	(gfc_resolve_omp_parallel_blocks): Initialize it.
2738	(gfc_resolve_do_iterator): Update for OpenACC.
2739	(gfc_resolve_omp_directive): Call
2740	resolve_omp_directive_inside_oacc_region.
2741	(OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
2742	(OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
2743	(OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
2744	(OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
2745	(OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
2746	(OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
2747	(OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
2748	(OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
2749	(OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
2750	(OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
2751	(OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
2752	(OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
2753	(OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
2754	(OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
2755	(OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
2756	(OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
2757	(OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
2758	(OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
2759	(OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
2760	(OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
2761	(OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
2762	(OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
2763	(gfc_match_omp_clauses): Handle those.
2764	(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
2765	(OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
2766	(OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
2767	(OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
2768	(OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
2769	(OACC_WAIT_CLAUSES): New macros.
2770	(gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
2771	(gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
2772	(gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
2773	(gfc_match_oacc_kernels, gfc_match_oacc_data)
2774	(gfc_match_oacc_host_data, gfc_match_oacc_loop)
2775	(gfc_match_oacc_declare, gfc_match_oacc_update)
2776	(gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
2777	(gfc_match_oacc_wait, gfc_match_oacc_cache)
2778	(gfc_match_oacc_routine, oacc_is_loop)
2779	(resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
2780	(check_symbol_not_pointer, check_array_not_assumed)
2781	(resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
2782	(oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
2783	(omp_code_to_statement, oacc_code_to_statement)
2784	(resolve_oacc_directive_inside_omp_region)
2785	(resolve_omp_directive_inside_oacc_region)
2786	(resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
2787	(resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
2788	(resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
2789	(gfc_resolve_oacc_directive): New functions.
2790	* parse.c (next_free): Update for OpenACC.  Move some code into...
2791	(verify_token_free): ... this new function.
2792	(next_fixed): Update for OpenACC.  Move some code into...
2793	(verify_token_fixed): ... this new function.
2794	(case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
2795	ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
2796	(case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
2797	ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
2798	ST_OACC_KERNELS_LOOP.
2799	(case_decl): Add ST_OACC_ROUTINE.
2800	(push_state, parse_critical_block, parse_progunit): Update for
2801	OpenACC.
2802	(gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
2803	ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2804	ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
2805	ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
2806	ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
2807	ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
2808	ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2809	ST_OACC_ROUTINE.
2810	(verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
2811	(parse_executable): Handle ST_OACC_PARALLEL_LOOP,
2812	ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
2813	ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
2814	(decode_oacc_directive, parse_oacc_structured_block)
2815	(parse_oacc_loop, is_oacc): New functions.
2816	* parse.h (struct gfc_state_data): Add oacc_declare_clauses
2817	member.
2818	(is_oacc): New prototype.
2819	* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
2820	EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
2821	EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
2822	EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
2823	EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
2824	EXEC_OACC_EXIT_DATA.
2825	(resolve_codes): Call gfc_resolve_oacc_declare.
2826	* scanner.c (openacc_flag, openacc_locus): New variables.
2827	(skip_free_comments): Update for OpenACC.  Move some code into...
2828	(skip_omp_attribute): ... this new function.
2829	(skip_oacc_attribute): New function.
2830	(skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
2831	* st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
2832	EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2833	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2834	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2835	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2836	* trans-decl.c (gfc_generate_function_code): Update for OpenACC.
2837	* trans-openmp.c: Include "gomp-constants.h".
2838	(gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
2839	instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
2840	(gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
2841	OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
2842	OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
2843	OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
2844	OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
2845	independent, wait_list, num_gangs_expr, num_workers_expr,
2846	vector_length_expr, vector, vector_expr, worker, worker_expr,
2847	gang, gang_expr members.
2848	(gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
2849	(gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
2850	(gfc_trans_oacc_executable_directive)
2851	(gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
2852	(gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
2853	* trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
2854	* trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
2855	New prototypes.
2856	* trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
2857	EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
2858	EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
2859	EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
2860	EXEC_OACC_EXIT_DATA.
2861	* gfortran.texi: Update for OpenACC.
2862	* intrinsic.texi: Likewise.
2863	* invoke.texi: Likewise.
2864
28652015-01-15  Janus Weil  <janus@gcc.gnu.org>
2866
2867	PR fortran/58023
2868	* resolve.c (resolve_fl_derived0): Continue resolving next component
2869	after error.
2870
28712015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2872
2873	PR fortran/61933
2874	* io.c (gfc_match_inquire): Generate error if unit number in
2875	inquire statement is a constant -1.  All other values allowed.
2876	* trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
2877	(create_dummy_iostat): Delete function no longer used.
2878
28792015-01-13  Jakub Jelinek  <jakub@redhat.com>
2880
2881	PR fortran/64528
2882	* trans-decl.c (create_function_arglist): Don't set TREE_READONLY
2883	on dummy args with VALUE attribute.
2884
28852015-01-11  Janus Weil  <janus@gcc.gnu.org>
2886
2887	PR fortran/63733
2888	* interface.c (gfc_extend_expr): Look for type-bound operators before
2889	non-typebound ones.
2890
28912015-01-11  Janus Weil  <janus@gcc.gnu.org>
2892
2893	PR fortran/58023
2894	* resolve.c (resolve_fl_derived0): Set error flag if problems with the
2895	interface of a procedure-pointer component were detected.
2896
28972015-01-11  Janus Weil  <janus@gcc.gnu.org>
2898
2899	PR fortran/64508
2900	* interface.c (compare_parameter): Interface check for
2901	procedure-pointer component as actual argument.
2902
29032015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
2904
2905	* gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
2906	Runtime Library" to "GNU Offloading and Multi Processing Runtime
2907	Library".
2908	* intrinsic.texi: Likewise.
2909
29102015-01-10  Tobias Burnus  <burnus@net-b.de>
2911
2912	PR fortran/64522
2913	* invoke.texi (Wline-truncation): Document new behaviour.
2914	* lang.opt (Wline-truncation): Add Init(-1).
2915	* options.c (gfc_post_options): If -Wline-truncation is unset,
2916	enable it for free-form source files; for the latter, also use
2917	-Werror=line-truncation, unless -Wno-error has been specified.
2918
29192015-01-09  Michael Collison  <michael.collison@linaro.org>
2920
2921	* convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2922	input.h, alias.h, symtab.h, options.h, fold-const.h,
2923	wide-int.h, and inchash.h due to flattening of tree.h.
2924	* cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2925	input.h, alias.h, symtab.h, fold-const.h,
2926	wide-int.h, and inchash.h due to flattening of tree.h.
2927	* decl.c: Ditto.
2928	* f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2929	input.h, alias.h, symtab.h, options.h, fold-const.h,
2930	wide-int.h, and inchash.h due to flattening of tree.h.
2931	* iresolve.c: Ditto.
2932	* match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2933	input.h, alias.h, symtab.h, fold-const.h,
2934	wide-int.h, and inchash.h due to flattening of tree.h.
2935	* module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2936	input.h, alias.h, symtab.h, options.h, fold-const.h,
2937	wide-int.h, and inchash.h due to flattening of tree.h.
2938	* options.c: Ditto.
2939	* target-memory.c: Include hash-set.h, vec.h,
2940	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
2941	wide-int.h, and inchash.h due to flattening of tree.h.
2942	* trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2943	input.h, alias.h, symtab.h, options.h, fold-const.h,
2944	wide-int.h, and inchash.h due to flattening of tree.h.
2945	* trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2946	input.h, alias.h, symtab.h, options.h, fold-const.h,
2947	wide-int.h, and inchash.h due to flattening of tree.h.
2948	* trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2949	input.h, alias.h, symtab.h, fold-const.h,
2950	wide-int.h, and inchash.h due to flattening of tree.h.
2951	* trans-const.c: Ditto.
2952	* trans-decl.c: Ditto.
2953	* trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2954	input.h, alias.h, symtab.h, options.h, fold-const.h,
2955	wide-int.h, and inchash.h due to flattening of tree.h.
2956	* trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2957	input.h, alias.h, symtab.h, fold-const.h,
2958	wide-int.h, inchash.h and real.h due to flattening of tree.h.
2959	* trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2960	input.h, alias.h, symtab.h, options.h, fold-const.h,
2961	wide-int.h, and inchash.h due to flattening of tree.h.
2962	* trans-openmp.c: Ditto.
2963	* trans-stmt.c: Ditto.
2964	* trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2965	input.h, alias.h, symtab.h, fold-const.h,
2966	wide-int.h, inchash.h and real.h due to flattening of tree.h.
2967
29682015-01-08  Tobias Burnus  <burnus@net-b.de>
2969
2970	* trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
2971	for module coarrays with -fcoarray=lib.
2972	(get_proc_pointer_decl): As module variable, make only public
2973	when not marked as private.
2974
29752015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
2976
2977	PR fortran/47674
2978	* dependency.h:  Actually commit changes.
2979
29802015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
2981
2982	PR fortran/47674
2983	* dependency.c:  Update copyright years.
2984	(gfc_discard_nops):  Add prototype.
2985	* dependency.c (discard_nops):  Rename to gfc_discard_nops,
2986	make non-static.
2987	(gfc_discard_nops):  Use gfc_discard_nops.
2988	(gfc_dep_difference):  Likewise.
2989	* frontend-passes.c  Update copyright years.
2990	(realloc_strings):  New function.  Add prototype.
2991	(gfc_run_passes):  Call realloc_strings.
2992	(realloc_string_callback):  New function.
2993	(create_var):  Add prototype.  Handle case of a
2994	scalar character variable.
2995	(optimize_trim):  Do not handle allocatable variables.
2996
29972015-01-05  Jakub Jelinek  <jakub@redhat.com>
2998
2999	Update copyright years.
3000
3001	* gfortranspec.c (lang_specific_driver): Update copyright notice
3002	dates.
3003	* gfc-internals.texi: Bump @copying's copyright year.
3004	* gfortran.texi: Ditto.
3005	* intrinsic.texi: Ditto.
3006	* invoke.texi: Ditto.
3007
30082015-01-02  Janus Weil  <janus@gcc.gnu.org>
3009
3010	PR fortran/57562
3011	* expr.c (find_component_ref): Deal with extended types.
3012
30132015-01-02  Tobias Burnus  <burnus@net-b.de>
3014
3015	* trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
3016	for module coarrays with -fcoarray=lib.
3017
30182015-01-02  Janus Weil  <janus@gcc.gnu.org>
3019
3020	PR fortran/60507
3021	* interface.c (is_procptr_result): New function to check if an
3022	expression is a procedure-pointer result.
3023	(compare_actual_formal): Use it.
3024
3025Copyright (C) 2015 Free Software Foundation, Inc.
3026
3027Copying and distribution of this file, with or without modification,
3028are permitted in any medium without royalty provided the copyright
3029notice and this notice are preserved.
3030