12015-12-15  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
2
3	Backport from mainline.
4	2015-12-15
5	Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
6
7	* resolve.c (resolve_critical): Committing symbols of
8	lock variables.
9
102015-12-14  Tobias Burnus  <burnus@net-b.de>
11	    Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
12
13	Backport from mainline.
14	2015-12-09  Tobias Burnus  <burnus@net-b.de>
15	    Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
16
17	* trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status):
18	Introducing __asm__ __volatile__ ("":::"memory")
19	after image control statements.
20	* trans-stmt.c 	(gfc_trans_sync, gfc_trans_event_post_wait,
21	gfc_trans_lock_unlock, gfc_trans_critical): Ditto.
22	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
23	conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory")
24	after send, before get and around sendget.
25
262015-12-04  Release Manager
27
28	* GCC 5.3.0 released.
29
302015-11-27  Andre Vehreschild  <vehre@gcc.gnu.org>
31
32	PR fortran/68218
33	* trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
34	array spec in allocate is a function call.
35
362015-11-24  Paul Thomas  <pault@gcc.gnu.org>
37
38	Backport from trunk.
39	PR fortran/68196
40	* class.c (has_finalizer_component): Prevent infinite recursion
41	through this function if the derived type and that of its
42	component are the same.
43	* trans-types.c (gfc_get_derived_type): Do the same for proc
44	pointers by ignoring the explicit interface for the component.
45
46	PR fortran/66465
47	* check.c (same_type_check): If either of the expressions is
48	BT_PROCEDURE, use the typespec from the symbol, rather than the
49	expression.
50
512015-11-18  Dominique d'Humieres <dominiq@lps.ens.fr>
52
53	PR fortran/65751
54	* expr.c (gfc_check_pointer_assign): Fix error message.
55
562015-11-16  Steven G. Kargl  <kargl@gcc.gnu.org>
57
58	PR fortran/58027
59	PR fortran/60993
60	* expr.c (gfc_check_init_expr): Prevent a redundant check when a
61	__convert_* function was inserted into an array constructor.
62	(gfc_check_assign_symbol): Check for an initialization expression
63	when a __convert_* was inserted.
64
652015-11-14  Steven G. Kargl  <kargl@gcc.gnu.org>
66
67	PR fortran/67803
68	* array.c (gfc_match_array_constructor): If array constructor included
69	a CHARACTER typespec, check array elements for compatible type.
70
712015-11-13  Steven G. Kargl  <kargl@gccc.gnu.org>
72
73	PR fortran/68319
74	* decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
75	* io.c (gfc_match_format): Ditto.
76	* match.c (gfc_match_st_function): Ditto.
77
782015-11-12  Steven G. Kargl  <kargl@gcc.gnu.org>
79
80	PR fortran/68318
81	* decl.c (get_proc_name): Increment reference count for ENTRY.
82	While here, fix comment and use postfix ++ for consistency.
83
842015-11-08  Steven g. Kargl  <kargl@gcc.gnu.org>
85
86	PR fortran/68053
87	* decl.c (add_init_expr_to_sym):  Try to reduce initialization expression
88	before testing for a constant value.
89
902015-11-08  Steven G. Kargl  <kargl@gcc.gnu.org>
91
92	PR fortran/68224
93	* array.c (match_array_element_spec): Check of invalid NULL().
94	While here, fix nearby comments.
95
962015-11-08  Steven G. Kargl  <kargl@gcc.gnu.org>
97
98	PR fortran/68153
99	* check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
100
1012015-11-08  Steven G. Kargl  <kargl@gcc.gnu.org>
102
103	PR fortran/68151
104	* match.c (match_case_selector):  Check for invalid type.
105
1062015-01-25  Paul Thomas  <pault@gcc.gnu.org>
107
108	Backported from trunk.
109	PR fortran/67171
110	* trans-array.c (structure_alloc_comps): On deallocation of
111	class components, reset the vptr to the declared type vtable
112	and reset the _len field of unlimited polymorphic components.
113	*trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
114	allocatable component references to the right of part reference
115	with non-zero rank and return NULL.
116	(gfc_reset_vptr): Simplify this function by using the function
117	gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
118	(gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
119	NULL return.
120
1212015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
122
123	PR fortran/51993
124	* decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
125	if-statement causing an early return leads to valid error message.
126
1272015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
128
129	PR fortran/68154
130	* decl.c (add_init_expr_to_sym): if the char length in the typespec
131	is NULL, check for and use a constructor.
132
1332015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
134
135	PR fortran/36192
136	* interface.c (get_expr_storage_size):  Check for INTEGER type before
137	calling gmp routines.
138
1392015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
140
141	PR fortran/68055
142	* decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
143	declarations.
144
1452015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
146
147	PR fortran/68054
148	* decl.c (match_attr_spec): PROTECTED can only be a module.
149
1502015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
151
152	PR fortran/67939
153	* data.c (create_character_initializer): Deal with zero length string.
154
1552015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
156
157	PR fortran/67885
158	* trans-decl.c (generate_local_decl): Mark PARAMETER entities in
159	BLOCK construct.
160
1612015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
162
163	PR fortran/67805
164	PR fortran/68108
165	* array.c (gfc_match_array_constructor): Check for error from type
166	spec matching.
167	* decl.c (char_len_param_value): Check for valid of charlen parameter.
168	Check for REF_ARRAY.  Reap dead code dating to 2008.
169	match.c (gfc_match_type_spec): Special case the keyword use in REAL.
170
1712015-10-26  Paul Thomas  <pault@gcc.gnu.org>
172
173	PR fortran/67177
174	PR fortran/67977
175	Backport from mainline r228940:
176	* primary.c (match_substring): Add an argument 'deferred' to
177	flag that a substring reference with null start and end should
178	not be optimized away for deferred length strings.
179	(match_string_constant, gfc_match_rvalue): Set the argument.
180	* trans-expr.c (alloc_scalar_allocatable_for_assignment): If
181	there is a substring reference return.
182	* trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
183	characters, assign the 'from' string length to the 'to' string
184	length. If the 'from' expression is deferred, set its string
185	length to zero. If the 'to' expression has allocatable
186	components, deallocate them.
187
1882015-10-22  Paul Thomas  <pault@gcc.gnu.org>
189
190	PR fortran/58754
191	* trans-stmt.c (gfc_trans_allocate): Do not use the scalar
192	character assignment if the allocate expression is an array
193	descriptor.
194
1952015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>
196
197	PR fortran/67900
198	* resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
199
2002015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>
201
202	PR fortran/68019
203	* decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
204	message to be issued.
205
2062015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>
207
208	PR fortran/67987
209	* decl.c (char_len_param_value): Unwrap unlong line.  If LEN < 0,
210	force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
211	* resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
212	If 'start' is larger than 'end', length of substring is negative,
213	so explicitly set it to zero.
214	(resolve_charlen): Remove -Wsurprising warning.  Update comment to
215	reflect that the text is from the F2008 standard.
216
2172015-10-18  Paul Thomas  <pault@gcc.gnu.org>
218
219	PR fortran/66079
220	Backport from mainline r224383:
221
222	* trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
223	function results must be freed and nullified after use. Create
224	a temporary to hold the result to prevent duplicate calls.
225	* trans-stmt.c (gfc_trans_allocate): Rename temporary variable
226	as 'source'. Deallocate allocatable components of non-variable
227	'source's.
228
2292015-10-18  Mikael Morin  <mikael@gcc.gnu.org>
230
231	PR fortran/67721
232	PR fortran/67818
233	Backport from mainline r222477:
234
235	2015-04-27  Andre Vehreschild  <vehre@gmx.de>
236
237	PR fortran/59678
238	PR fortran/65841
239	* trans-array.c (duplicate_allocatable): Fixed deep copy of
240	allocatable components, which are liable for copy only, when
241	they are allocated.
242	(gfc_duplicate_allocatable): Add deep-copy code into if
243	component allocated block. Needed interface change for that.
244	(gfc_copy_allocatable_data): Supplying NULL_TREE for code to
245	add into if-block for checking whether a component was
246	allocated.
247	(gfc_duplicate_allocatable_nocopy): Likewise.
248	(structure_alloc_comps): Likewise.
249	* trans-array.h: Likewise.
250	* trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
251	* trans-openmp.c (gfc_walk_alloc_comps): Likewise.
252
2532015-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
254
255	PR fortran/67802
256	* decl.c (add_init_expr_to_sym): Numeric constant for character
257	length must be an INTEGER.
258
2592015-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
260
261	PR fortran/67616
262	* primary.c (gfc_match_structure_constructor): Use a possibly
263	host-associated symtree to prevent ICE.
264
2652015-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
266
267	PR fortran/66979
268	* io.c (gfc_resolve_filepos): Check for a UNIT number.  Add a nearby
269	missing 'return false'.
270
2712015-10-01  Mikael Morin  <mikael@gcc.gnu.org>
272
273	PR fortran/67721
274	* trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
275	condition guarding deep copy.
276
2772015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
278
279	PR fortran/67614
280	* resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
281
2822015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
283
284	PR fortran/67525
285	* parse.c (match_deferred_characteristics): Remove an assert, which
286	allows an invalid SELECT TYPE selector to be detected.
287
2882015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>
289
290	PR fortran/67615
291	* resolve.c (gfc_resolve_code): Check for scalar expression in
292	arithmetic-if.
293
2942015-09-10  Steven G. Kargl  <kargl@gcc.gnu.org>
295
296	PR fortran/67526
297	* expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
298
2992015-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
300
301	PR fortran/67429
302	* error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
303	caret lines might be skipped when actually giving a diagnostic.
304
3052015-08-07  Mikael Morin  <mikael@gcc.gnu.org>
306
307	PR fortran/66929
308	* trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
309	symbol if available.
310
3112015-08-05  Mikael Morin  <mikael@gcc.gnu.org>
312
313	PR fortran/64921
314	* class.c (generate_finalization_wrapper): Set finalization
315	procedure symbol's always_explicit attribute.
316
3172015-08-03  Steven G. Kargl  <kargl@gcc.gnu.org>
318
319	PR fortran/66942
320	* trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
321
3222015-07-25  Mikael Morin  <mikael@gcc.gnu.org>
323
324	PR fortran/64986
325	* trans-expr.c (gfc_trans_assignment_1): Put component deallocation
326	code at the beginning of the block.
327
3282015-07-21  Andre Vehreschild  <vehre@gcc.gnu.org>
329
330	PR fortran/66035
331	* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
332	Compute the size to allocate for class and derived type objects
333	correclty.
334	(gfc_trans_subcomponent_assign): Only allocate memory for a
335	component when the object to assign is not an allocatable class
336	object (the memory is already present for allocatable class objects).
337	Furthermore use copy_class_to_class for assigning the rhs to the
338	component (may happen for dummy class objects on the rhs).
339
3402015-07-17  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
341
342	* trans-intrinsic.c (conv_co_collective): Remove redundant address
343	operator in the generated code.
344
3452015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>
346
347	PR fortran/66724
348	PR fortran/66724
349	* io.c (is_char_type): Call gfc_resolve_expr ().
350	(match_open_element, match_dt_element, match_inquire_element): Fix
351	ASYNCHRONOUS case.
352
3532015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>
354
355	PR fortran/66864
356	* simplify.c (gfc_simplify_floor): Set precision of temporary to
357	that of arg.
358
3592015-07-16  Steven G. Kargl   <kargl@gcc.gnu.org>
360
361	PR fortran/66545
362	* primary.c (match_sym_complex_part): Do not dereference NULL pointer.
363
3642015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>
365
366	PR fortran/56520
367	* match.c (gfc_match_name): Special case unary minus and plus.
368
3692015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>
370
371	* io.c (check_char_variable): New function.
372	(match_open_element, match_close_element, match_file_element,
373	match_dt_element, match_inquire_element, match_wait_element): Use it.
374
3752015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>
376
377	PR fortran/66725
378	* io.c (is_char_type): New function to test for BT_CHARACTER
379	(gfc_match_open, gfc_match_close, match_dt_element): Use it.
380
3812015-07-16  Release Manager
382
383	* GCC 5.2.0 released.
384
3852015-06-24  Mikael Morin  <mikael@gcc.gnu.org>
386
387	PR fortran/66549
388	* resolve.c (resolve_global_procedure): Don't save and restore
389	OpenMP state around the call to gfc_resolve.
390	(gfc_resolve): Save OpenMP state on entry and restore it on return.
391
3922015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
393
394	PR fortran/66385
395	Backport from trunk
396	* frontend-passes.c (combine_array_constructor): Return early if
397	inside a FORALL loop.
398
3992015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
400
401	* intrinsic.texi:  Change \leq to < in descrition of imaginary
402	part in argument to log.
403
4042015-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
405
406	* f95-lang.c (gfc_create_decls): Register the main translation unit
407	through the new debug hook.
408
4092015-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
410
411	PR fortran/66245
412	* match.c (gfc_match_type_is, gfc_match_class_is):  Check if the
413	return type spec or derived type spec is validate.
414
4152015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>
416
417	PR fortran/66347
418	* resolve.c (apply_default_init_local): Do not dereference a NULL
419	pointer.
420
4212015-06-05  Russell Whitesides  <russelldub@gmail.com>
422	    Steven G. Kargl  <kargl@gcc.gnu.org>
423
424	PR fortran/40958
425	PR fortran/60780
426	PR fortran/66377
427	* module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
428	from different modules.  Eliminate the pruning of unused
429	equivalence-objects
430
431
4322015-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>
433
434	PR fortran/66380
435	* simplify.c (gfc_simplify_reshape): Convert assert into returning
436	NULL, which triggers an error condition.
437
4382015-05-29  Mikael Morin  <mikael@gcc.gnu.org>
439
440	PR fortran/66257
441	* resolve.c (resolve_actual_arglist): Don't throw an error
442	if the argument with procedure pointer component is not a variable.
443
4442015-05-22  Jakub Jelinek  <jakub@redhat.com>
445
446	Backported from mainline
447	2015-05-19  Jakub Jelinek  <jakub@redhat.com>
448
449	PR middle-end/66199
450	* trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
451	combined constructs.
452	(gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
453	BIND_EXPR_BLOCK.
454
4552015-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
456
457	PR fortran/65903
458	* io.c (format_lex): Change to NONSTRING when checking for
459	possible doubled quote.
460	* scanner.c (gfc_next_char_literal): Revert change from 64506
461	and add a check for quotes and return.
462
4632015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
464
465	PR fortran/66106
466	* interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
467	* match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
468
4692015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
470
471	PR fortran/66057
472	* decl.c(gfc_match_generic):  Detected a malformed GENERIC statement.
473
4742015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
475
476	PR fortran/66052
477	* decl.c(gfc_match_protected): Prevent dereference of NULL pointer.
478
4792015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
480
481	PR fortran/66045
482	* expr.c (gfc_check_assign):  Check for assignment of NULL() instead
483	of the (intended) pointer assignment.
484
4852015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
486
487	PR fortran/66044
488	* decl.c(gfc_match_entry):  Change a gfc_internal_error() into
489	a gfc_error()
490
4912015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
492
493	PR fortran/66043
494	* check.c (gfc_check_storage_size): Prevent the direct use of NULL()
495	in STORAGE_SIZE() reference.
496
4972015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
498
499	PR fortran/66040
500	* parse.c(verify_st_order): Replace a gfc_internal_error with your
501	generic gfc_error.
502
5032015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
504
505	PR fortran/66039
506	* io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
507	BACKSPACE, and ENDFILE statements
508
5092015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
510
511	PR fortran/64925
512	* symbol.c(check_conflict):  Check for a conflict between a dummy
513	argument and an internal procedure name.
514
5152015-05-02  Steven G. Kargl  <kargl@gcc.gnu.org>
516
517	PR fortran/65976
518	* invoke.texi:  Remove 'no-' in '-fno-fixed-form'
519
5202015-04-22  Release Manager
521
522	* GCC 5.1.0 released.
523
5242015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>
525
526	PR fortran/65429
527	* decl.c (add_init_expr_to_sym): Set the length type parameter.
528
5292015-04-10  Tobias Burnus  <burnus@net-b.de>
530
531	* trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
532	version; reject not-yet-implemented variants.
533	* trans-types.c (gfc_get_derived_type): For lock_type with
534	-fcoarray=lib, use a void pointer as type.
535	* trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
536	Handle lock_type with -fcoarray=lib.
537
5382015-04-10  Mikael Morin  <mikael@gcc.gnu.org>
539
540	PR fortran/56674
541	PR fortran/58813
542	PR fortran/59016
543	PR fortran/59024
544	* symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
545	former to the latter and make it non-static.  Update callers.
546	* gfortran.h (gfc_save_symbol_data): New prototype.
547	* decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
548	before modifying symbols 'sym' and 'dt_sym'.
549
5502013-04-09  Paul Thomas  <pault@gcc.gnu.org>
551
552	PR fortran/56852
553	* primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
554	of the index variables are untyped and errors are present.
555
5562015-04-07  Andre Vehreschild  <vehre@gmx.de>
557
558	PR fortran/65548
559	* trans-stmt.c (gfc_trans_allocate): For intrinsic functions
560	use conv_expr_descriptor() instead of conv_expr_reference().
561
5622015-03-30  Jakub Jelinek  <jakub@redhat.com>
563
564	PR fortran/65597
565	* trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
566	linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
567	For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
568	instead of the original step on the new iterator - count.
569
5702015-03-25  Mikael Morin  <mikael@gcc.gnu.org>
571
572	PR fortran/64952
573	PR fortran/65532
574	* gfortran.h (struct gfc_namespace): New field 'types_resolved'.
575	* resolve.c (resolve_types): Return early if field 'types_resolved'
576	is set.  Set 'types_resolved' at the end.
577
5782015-03-24  Andre Vehreschild  <vehre@gmx.de>
579
580	PR fortran/55901
581	* trans-expr.c (gfc_conv_structure): Fixed indendation.
582	Using integer_zero_node now instead of explicitly
583	constructing a integer constant zero node.
584	(gfc_conv_derived_to_class): Add handling of _len component,
585	i.e., when the rhs has a string_length then assign that to
586	class' _len, else assign 0.
587	(gfc_conv_intrinsic_to_class): Likewise.
588
5892015-03-24  Andre Vehreschild  <vehre@gmx.de>
590
591	PR fortran/64787
592	PR fortran/57456
593	PR fortran/63230
594	* class.c (gfc_add_component_ref):  Free no longer needed
595	ref-chains to prevent memory loss.
596	(find_intrinsic_vtab): For deferred length char arrays or
597	unlimited polymorphic objects, store the size in bytes of one
598	character in the size component of the vtab.
599	* gfortran.h: Added gfc_add_len_component () define.
600	* trans-array.c (gfc_trans_create_temp_array): Switched to new
601	function name for getting a class' vtab's field.
602	(build_class_array_ref): Likewise.
603	(gfc_array_init_size): Using the size information from allocate
604	more consequently now, i.e., the typespec of the entity to
605	allocate is no longer needed.  This is to address the last open
606	comment in PR fortran/57456.
607	(gfc_array_allocate): Likewise.
608	(structure_alloc_comps): gfc_copy_class_to_class () needs to
609	know whether the class is unlimited polymorphic.
610	* trans-array.h: Changed interface of gfc_array_allocate () to
611	reflect the no longer needed typespec.
612	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
613	(gfc_reset_len): New.
614	(gfc_get_class_array_ref): Switch to new function name for
615	getting a class' vtab's field.
616	(gfc_copy_class_to_class):  Added flag to know whether the class
617	to copy is unlimited polymorphic.  Adding _len dependent code
618	then, which calls ->vptr->copy () with four arguments adding
619	the length information ->vptr->copy(from, to, from_len, to_cap).
620	(gfc_conv_procedure_call): Switch to new function name for
621	getting a class' vtab's field.
622	(alloc_scalar_allocatable_for_assignment): Use the string_length
623	as computed by gfc_conv_expr and not the statically backend_decl
624	which may be incorrect when ref-ing.
625	(gfc_trans_assignment_1): Use the string_length variable and
626	not the rse.string_length.  The former has been computed more
627	generally.
628	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
629	function name for getting a class' vtab's field.
630	(gfc_conv_intrinsic_storage_size): Likewise.
631	(gfc_conv_intrinsic_transfer): Likewise.
632	* trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
633	source=expr3 only once before the loop over the objects to
634	allocate, when the objects are not arrays. Doing correct _len
635	initialization and calling of vptr->copy () fixing PR 64787.
636	(gfc_trans_deallocate): Reseting _len to 0, preventing future
637	errors.
638	* trans.c (gfc_build_array_ref): Switch to new function name
639	for getting a class' vtab's field.
640	(gfc_add_comp_finalizer_call): Likewise.
641	* trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
642	and gfc_vptr_*_get () functions.
643	Added gfc_find_and_cut_at_last_class_ref () and
644	gfc_reset_len () routine prototype.  Added flag to
645	gfc_copy_class_to_class () prototype to signal an unlimited
646	polymorphic entity to copy.
647
6482015-03-24  Iain Sandoe  <iain@codesourcery.com>
649	    Tobias Burnus  <burnus@net-b.de>
650
651	* gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
652
6532015-03-23  Paul Thomas  <pault@gcc.gnu.org>
654	    Mikael Morin  <mikael@gcc.gnu.org>
655
656	PR fortran/64952
657	* gfortran.h (struct symbol_attribute) : New field
658	'array_outer_dependency'.
659	* trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
660	* module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
661	(attr_bits): Append same value to initializer.
662	(mio_symbol_attribute): Handle 'array_outer_dependency' attr
663	in module read and write.
664	* resolve.c (update_current_proc_outer_array_dependency): New function.
665	(resolve_function, resolve_call): Add code to update current procedure's
666	'array_outer_dependency' attribute.
667	(resolve_variable): Mark current procedure with attribute
668	array_outer_dependency if the variable is an array coming from outside
669	the current namespace.
670	(resolve_fl_procedure): Mark a procedure without body with attribute
671	'array_outer_dependency'.
672	* trans-array.c (gfc_conv_resolve_dependencies): If any ss is
673	marked as 'array_outer_dependency' generate a temporary.
674	(gfc_walk_function_expr): If the function may reference external arrays,
675	mark the head gfc_ss with flag 'array_outer_dependency'.
676
6772015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>
678
679	PR libgfortran/59513
680	* gfortran.texi (Read/Write after EOF marker): New information.
681
6822015-03-21  H.J. Lu  <hongjiu.lu@intel.com>
683
684	* gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
685	line.
686
6872015-03-21  Tobias Burnus  <burnus@net-b.de>
688
689	* gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
690	_gfortran_caf_sync_memory, _gfortran_caf_error_stop,
691	_gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
692	_gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
693	_gfortran_caf_atomic_op): New sections.
694
6952015-03-21  Tobias Burnus  <burnus@net-b.de>
696
697	* trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
698	coindexed coarray accesses.
699
7002015-03-17  Paul Thomas  <pault@gcc.gnu.org>
701
702	PR fortran/59198
703	* trans-types.c (gfc_get_derived_type): If an abstract derived
704	type with procedure pointer components has no other type of
705	component, return the backend_decl. Otherwise build the
706	components if any of the non-procedure pointer components have
707	no backend_decl.
708
7092015-03-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
710
711	PR fortran/64432
712	*trans-intrinisic.c (conv_intrinsic_system_clock): Check the
713	smallest kind passed in user arguments and hardcode tesults for
714	KIND=1 or KIND=2 to indicate no clock available.
715
7162015-03-16  Andre Vehreschild  <vehre@gmx.de>
717
718	* resolve.c: Prevent segfault on illegal input.
719
7202015-03-14  Mikael Morin  <mikael@gcc.gnu.org>
721
722	PR fortran/61138
723	* trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
724	field before reusing LSE.
725
7262015-03-11  Janne Blomqvist  <jb@gcc.gnu.org>
727
728	PR libfortran/65200
729	* gfortran.texi: Document behavior when opening files without
730	explicit ACTION= specifier.
731
7322015-03-10  Paul Thomas  <pault@gcc.gnu.org>
733
734	PR fortran/65024
735	* trans-expr.c (gfc_conv_component_ref): If the component
736	backend declaration is missing and the derived type symbol is
737	available in the reference, call gfc_build_derived_type.
738
7392015-03-10  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
740	    Tobias Burnus  <burnus@net-b.de>
741
742	* trans.h (caf_sync_memory): New function decl tree.
743	* trans-decl.c (gfc_build_builtin_function_decls): Define it.
744	(create_main_function): Don't call sync_synchronize and leave
745	it to the CAF library.
746	* trans-stmt.c (gfc_trans_stop): Ditto.
747	(gfc_trans_sync): Ditto; add call library call for sync memory.
748
7492015-03-08  Mikael Morin  <mikael@gcc.gnu.org>
750
751	PR fortran/60898
752	* resolve.c (resolve_symbol): Check that the symbol found by
753	name lookup really is the current symbol being resolved.
754
7552015-03-02  Tobias Burnus  <burnus@net-b.de>
756
757	* check.c (gfc_check_atomic): Properly check for coarrayness
758	and for being coindexed.
759
7602015-02-26  Martin Liska  <mliska@suse.cz>
761
762	* resolve.c: Rename enum 'comparison' to 'compare_result' as
763	solution for -Wodr issue.
764
7652015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
766
767	PR libgomp/64625
768	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
769	Remove macros.
770	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
771	* types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
772	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
773	Remove function types.
774	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
775	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
776	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
777	New function types.
778
7792015-02-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
780
781	PR fortran/64980
782	PR fortran/61960
783	* trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
784	for component references to class objects.
785	(gfc_conv_procedure_call): Compare the class by name.
786
7872015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
788
789	PR fortran/64506
790	* scanner.c (gfc_next_char_literal): For free form source,
791	check for '!' and if found, clear the comment and go back
792	and get the next character. For fixed form source, skip the
793	rest of the line.
794
7952015-02-12  Paul Thomas  <pault@gcc.gnu.org>
796
797	PR fortran/64932
798	* trans-stmt.c (gfc_trans_deallocate): If a component array
799	expression is not a descriptor type and it is a derived type
800	that has allocatable components and is not finalizable, then
801	deallocate the allocatable components.
802
8032015-02-08  Mikael Morin  <mikael@gcc.gnu.org>
804
805	PR fortran/63744
806	* module.c (check_for_ambiguous): Change argument type
807	from gfc_symbol to gfc_symtree.  Check local (symtree) name
808	instead of original (symbol) name.
809	(read_module): Update caller.
810
8112015-02-06  Paul Thomas  <pault@gcc.gnu.org>
812
813	PR fortran/63205
814	* gfortran.h: Add 'must finalize' field to gfc_expr and
815	prototypes for gfc_is_alloc_class_scalar_function and for
816	gfc_is_alloc_class_array_function.
817	* expr.c (gfc_is_alloc_class_scalar_function,
818	gfc_is_alloc_class_array_function): New functions.
819	* trans-array.c (gfc_add_loop_ss_code): Do not move the
820	expression for allocatable class scalar functions outside the
821	loop.
822	(conv_array_index_offset): Cope with deltas being NULL_TREE.
823	(build_class_array_ref): Do not return with allocatable class
824	array functions. Add code to pick out the returned class array.
825	Dereference if necessary and return if not a class object.
826	(gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
827	(gfc_walk_function_expr): Return an array ss for the result of
828	an allocatable class array function.
829	* trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
830	that the argument should be a variable. If an allocatable class
831	array function, set the offset to zero and skip the write-out
832	loop in this case.
833	(gfc_conv_procedure_call): Add allocatable class array function
834	to the assert. Call gfc_conv_subref_array_arg for allocatable
835	class array function arguments with derived type formal arg..
836	Add the code for handling allocatable class functions, including
837	finalization calls to prevent memory leaks.
838	(arrayfunc_assign_needs_temporary): Return if an allocatable
839	class array function.
840	(gfc_trans_assignment_1): Set must_finalize to rhs expression
841	for allocatable class functions. Set scalar_to_array as needed
842	for scalar class allocatable functions assigned to an array.
843	Nullify the allocatable components corresponding the the lhs
844	derived type so that the finalization does not free them.
845
8462015-01-29  Andre Vehreschild  <vehre@gmx.de>
847	    Janus Weil  <janus@gcc.gnu.org>
848
849	PR fortran/60289
850	Initial patch by Janus Weil
851	* resolve.c (resolve_allocate_expr): Add check for comp. only
852	when target is not unlimited polymorphic.
853	* trans-stmt.c (gfc_trans_allocate): Assign correct value to
854	_len component of unlimited polymorphic entities.
855
8562015-02-05  Tobias Burnus  <burnus@net-b.de>
857
858	PR fortran/64943
859	* resolve.c (resolve_transfer): Also check structure
860	constructors.
861
8622015-02-05  Paul Thomas  <pault@gcc.gnu.org>
863
864	PR fortran/64757
865	* resolve.c (resolve_structure_cons): Obtain the rank of class
866	components.
867	* trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
868	assignment to allocatable class array components.
869	(alloc_scalar_allocatable_for_subcomponent_assignment): If comp
870	is a class component, allocate to the _data field.
871	(gfc_trans_subcomponent_assign): If a class component with a
872	derived type expression set the _vptr field and for array
873	components, call gfc_trans_alloc_subarray_assign. For scalars,
874	the assignment is performed here.
875
8762015-02-04  Jakub Jelinek  <jakub@redhat.com>
877
878	* options.c: Include langhooks.h.
879	(gfc_post_options): Change lang_hooks.name based on
880	selected -std= mode.
881
8822015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>
883
884	* intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
885
8862015-01-30  Andre Vehreschild  <vehre@gmx.de>
887
888	* trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
889	* trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
890	Fixed datatype of charlen to be a 32-bit int.
891
8922015-02-01  Joseph Myers  <joseph@codesourcery.com>
893
894	* error.c (gfc_warning (const char *, ...), gfc_warning_now (const
895	char *, ...)): Remove functions.
896	* gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
897	(const char *, ...)): Remove declarations.
898	* arith.c, check.c, data.c, decl.c, frontend-passes.c,
899	interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
900	options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
901	trans-common.c, trans-const.c, trans-stmt.c: All callers of
902	gfc_warning and gfc_warning_now changed to pass 0 or option number
903	as first argument.
904
9052015-01-30  Joseph Myers  <joseph@codesourcery.com>
906
907	* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
908	callers of fatal_error changed to pass input_location as first
909	argument.
910
9112015-01-28  Tobias Burnus  <burnus@net-b.de>
912
913	* intrinsic.texi (CO_BROADCAST): Correct argument description.
914
9152015-01-27  Tobias Burnus  <burnus@net-b.de>
916
917	PR fortran/63861
918	* trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
919	Fix handling for scalar coarrays.
920	* trans-types.c (gfc_get_element_type): Add comment.
921
9222015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
923
924	PR fortran/64771
925	* interface.c: Remove <algorithm>.
926	(check_dummy_characteristics): Use MAX instead of std::max.
927
9282015-01-26  Paul Thomas  <pault@gcc.gnu.org>
929
930	PR fortran/62044
931	* resolve.c (resolve_allocate_expr): If the default initializer
932	is NULL, keep the original MOLD expression so that the correct
933	typespec is available.
934
9352015-01-26  Tobias Burnus  <burnus@net-b.de>
936
937	PR fortran/64771
938	* interface.c (check_dummy_characteristics): Fix coarray handling.
939
9402015-01-26  Tobias Burnus  <burnus@net-b.de>
941
942	* io.c (gfc_match_inquire): Replace "-1" by a defined constant.
943
9442015-01-26  Janus Weil  <janus@gcc.gnu.org>
945
946	PR fortran/64230
947	* class.c (finalize_component): New argument 'sub_ns'. Insert code to
948	check if 'expr' is associated.
949	(generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
950	'ptr2'. Pass 'sub_ns' to finalize_component.
951
9522015-01-25  Mikael Morin  <mikael@gcc.gnu.org>
953
954	PR fortran/62044
955	* decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
956	* module.c (MOD_VERSION): Bump.
957	(write_module): Don't write list of extensions.
958	(read_module): Don't jump over list of extensions;
959	don't load list of extensions.
960	(load_derived_extensions, write_dt_extensions,
961	 write_derived_extensions): Remove.
962
9632015-01-24  Tobias Burnus  <burnus@net-b.de>
964
965	* parse.c (gfc_parse_file): Fix two-location gfc_error call.
966
9672015-01-23  Martin Liska  <mliska@suse.cz>
968
969	* decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
970	false positive during profiledbootstrap by initializing them.
971	* matchexp.c (match_mult_operand): Likewise.
972	* module.c (write_atom): Likewise.
973	(read_module): Likewise.
974
9752015-01-23  Tom de Vries  <tom@codesourcery.com>
976
977	PR libgomp/64672
978	* lang.opt (fopenacc): Mark as LTO option.
979
9802015-01-23  Tom de Vries  <tom@codesourcery.com>
981
982	PR libgomp/64707
983	* lang.opt (fopenmp): Mark as LTO option.
984
9852015-01-23  Andre Vehreschild  <vehre@gmx.de>
986
987	* trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
988	* trans-stmt.c (gfc_trans_allocate): Fixed indentation.
989
9902015-01-23  Jakub Jelinek  <jakub@redhat.com>
991
992	* gfc-diagnostic.def (DK_ICE_NOBT): New kind.
993
9942015-01-23  Janus Weil  <janus@gcc.gnu.org>
995
996	PR fortran/60922
997	* class.c (finalize_component): Apply the check for 'fini_coarray' only
998	to coarray components.
999
10002015-01-23  Tobias Burnus  <burnus@net-b.de>
1001
1002	PR fortran/64726
1003	* trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
1004	loop generation.
1005
10062015-01-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1007
1008	PR fortran/61933
1009	* libgfortran.h:
1010	* trans-io.c (set_parameter_value): Delete use of has_iostat.
1011	Redefine to not generate any runtime error check calls.
1012	(set_parameter_value_chk): Rename of the former
1013	set_parameter_value with the runtime error checks and fix
1014	whitespace. (set_parameter_value_inquire): New function that
1015	builds a runtime conditional block to set the INQUIRE
1016	common parameter block unit number to -2 when unit numbers
1017	exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
1018	For unit, use the renamed set_parameter_value_chk.
1019	(gfc_trans_close): Likewise use renamed function.
1020	(build_filepos): Whitespace and use renamed function.
1021	(gfc_trans_inquire): Whitespace and for unit use
1022	set_parameter_value and set_parameter_value_inquire.
1023	(gfc_trans_wait): Remove p->iostat from call to
1024	set_parameter_value. Use new set_parameter_value_chk for unit.
1025	(build_dt): Use the new set_parameter_value without p->iostat
1026	and fix whitespace. Use set_parameter_value_chk for unit.
1027
10282015-01-21  Thomas Koenig  <tkoenig@netcologne.de>
1029
1030	PR fortran/57023
1031	* dependency.c (callback_dummy_intent_not_int):  New function.
1032	(dummy_intent_not_in):  New function.
1033	(gfc_full_array_ref_p):  Use dummy_intent_not_in.
1034
10352015-01-18  Andre Vehreschild  <vehre@gmx.de>
1036	    Janus Weil <janus@gcc.gnu.org>
1037
1038	PR fortran/60255
1039	* class.c (gfc_get_len_component): New.
1040	(gfc_build_class_symbol): Add _len component to unlimited
1041	polymorphic entities.
1042	(find_intrinsic_vtab): Removed emitting of error message.
1043	* gfortran.h: Added prototype for gfc_get_len_component.
1044	* simplify.c (gfc_simplify_len): Use _len component where
1045	available.
1046	* trans-expr.c (gfc_class_len_get): New.
1047	(gfc_conv_intrinsic_to_class): Add handling for deferred
1048	character arrays.
1049	(gfc_conv_structure): Treat _len component correctly.
1050	(gfc_conv_expr): Prevent bind_c handling when not required.
1051	(gfc_trans_pointer_assignment): Propagate _len component.
1052	* trans-stmt.c (class_has_len_component): New.
1053	(trans_associate_var): _len component treatment for associate
1054	context.
1055	(gfc_trans_allocate): Same as for trans_associate_var()
1056	* trans.h: Added prototype for gfc_class_len_get.
1057
10582015-01-18  Paul Thomas  <pault@gcc.gnu.org>
1059
1060	PR fortran/57959
1061	* trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
1062	for allocatable components, where the source is a variable.
1063
10642015-01-18  Paul Thomas  <pault@gcc.gnu.org>
1065
1066	PR fortran/55901
1067	* primary.c (gfc_match_varspec): Exclude dangling associate-
1068	names with dimension 0 from being counted as arrays.
1069	* resolve.c (resolve_assoc_var): Sub-strings are permissible
1070	for associate-names, so exclude characters from the test for
1071	misuse as arrays.
1072	* trans-decl.c (gfc_get_symbol_decl): Associate-names can use
1073	the hidden string length variable of their associated target.
1074	Signal this by setting 'length' to a constant, if the decl for
1075	the string length is a variable.
1076
10772015-01-17  Paul Thomas  <pault@gcc.gnu.org>
1078
1079	PR fortran/64578
1080	* trans-expr.c (gfc_trans_pointer_assignment): Make sure that
1081	before reinitializing rse, to add the rse.pre to block before
1082	creating 'ptrtemp'.
1083	* trans-intrinsic.c (gfc_conv_associated): Deal with the class
1084	data being a descriptor.
1085
10862015-01-17  Andre Vehreschild  <vehre@gmx.de>
1087
1088	PR fortran/60357
1089	* primary.c (build_actual_constructor): Prevent warning.
1090	* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
1091	assignment): New function encapsulates treatment of allocatable
1092	components.
1093	(gfc_trans_subcomponent_assign): Needed to distinguish between
1094	regular assignment and initilization.
1095	(gfc_trans_structure_assign): Same.
1096	(gfc_conv_structure): Same.
1097
1098	PR fortran/61275
1099	* gfortran.h: deferred_parameter is not needed, because
1100	it artificial does the trick completely.
1101	* primary.c (build_actual_constructor): Same.
1102	(gfc_convert_to_structure_constructor): Same.
1103	* resolve.c (resolve_fl_derived0): Same.
1104	* trans-expr.c (gfc_conv_component_ref): Prevent treating
1105	allocatable deferred length char arrays here.
1106	(gfc_trans_subcomponent_assign): Same as above.
1107	* trans-types.c (gfc_sym_type): This is done in
1108	gfc_get_derived_type already.
1109
11102015-01-17  Andre Vehreschild  <vehre@gmx.de>
1111
1112	PR fortran/60334
1113	* trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
1114	length when the symbol is declared to be a result.
1115	* trans-expr.c (gfc_conv_procedure_call): Strip deref on the
1116	string length when functions are nested and the string length
1117	is a reference already.
1118
11192015-01-16  Janus Weil  <janus@gcc.gnu.org>
1120
1121	PR fortran/45290
1122	* decl.c (match_pointer_init): Error out if resolution of init expr
1123	failed.
1124
11252015-01-15  Tobias Burnus  <burnus@net-b.de>
1126
1127	* openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
1128	resolve_oacc_deviceptr_clause, resolve_omp_clauses,
1129	gfc_resolve_oacc_declare): Replace '%s' by %qs.
1130
11312015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
1132	    Cesar Philippidis  <cesar@codesourcery.com>
1133	    James Norris  <jnorris@codesourcery.com>
1134	    Ilmir Usmanov  <i.usmanov@samsung.com>
1135	    Tobias Burnus  <burnus@net-b.de>
1136
1137	* lang.opt (fopenacc): New option.
1138	* cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
1139	* dump-parse-tree.c (show_omp_node): Split part of it into...
1140	(show_omp_clauses): ... this new function.
1141	(show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
1142	EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
1143	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
1144	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
1145	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
1146	(show_namespace): Update for OpenACC.
1147	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
1148	(DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
1149	(DEF_GOACC_BUILTIN_COMPILER): New macros.
1150	* types.def (BT_FN_VOID_INT_INT_VAR)
1151	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
1152	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
1153	New function types.
1154	* gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
1155	ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
1156	ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
1157	ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
1158	ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
1159	ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
1160	ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
1161	ST_OACC_ROUTINE.
1162	(struct gfc_expr_list): New data type.
1163	(gfc_get_expr_list): New macro.
1164	(gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
1165	OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
1166	OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
1167	(OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
1168	(OMP_LIST_CACHE): New enumerators.
1169	(struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
1170	vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
1171	wait_list, tile_list, async, gang, worker, vector, seq,
1172	independent, wait, par_auto, gang_static, and loc members.
1173	(struct gfc_namespace): Add oacc_declare_clauses member.
1174	(gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
1175	EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
1176	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
1177	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
1178	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
1179	(gfc_free_expr_list, gfc_resolve_oacc_directive)
1180	(gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
1181	(gfc_resolve_oacc_blocks): New prototypes.
1182	* match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
1183	EXEC_OACC_PARALLEL_LOOP.
1184	* match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
1185	(gfc_match_oacc_update, gfc_match_oacc_declare)
1186	(gfc_match_oacc_loop, gfc_match_oacc_host_data)
1187	(gfc_match_oacc_data, gfc_match_oacc_kernels)
1188	(gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
1189	(gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
1190	(gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
1191	prototypes.
1192	* openmp.c: Include "diagnostic.h" and "gomp-constants.h".
1193	(gfc_free_omp_clauses): Update for members added to struct
1194	gfc_omp_clauses.
1195	(gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
1196	openacc parameter.
1197	(resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
1198	(struct fortran_omp_context): Add is_openmp member.
1199	(gfc_resolve_omp_parallel_blocks): Initialize it.
1200	(gfc_resolve_do_iterator): Update for OpenACC.
1201	(gfc_resolve_omp_directive): Call
1202	resolve_omp_directive_inside_oacc_region.
1203	(OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
1204	(OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
1205	(OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
1206	(OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
1207	(OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
1208	(OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
1209	(OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
1210	(OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
1211	(OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
1212	(OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
1213	(OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
1214	(OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
1215	(OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
1216	(OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
1217	(OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
1218	(OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
1219	(OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
1220	(OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
1221	(OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
1222	(OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
1223	(OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
1224	(OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
1225	(gfc_match_omp_clauses): Handle those.
1226	(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
1227	(OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
1228	(OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
1229	(OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
1230	(OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
1231	(OACC_WAIT_CLAUSES): New macros.
1232	(gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
1233	(gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
1234	(gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
1235	(gfc_match_oacc_kernels, gfc_match_oacc_data)
1236	(gfc_match_oacc_host_data, gfc_match_oacc_loop)
1237	(gfc_match_oacc_declare, gfc_match_oacc_update)
1238	(gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
1239	(gfc_match_oacc_wait, gfc_match_oacc_cache)
1240	(gfc_match_oacc_routine, oacc_is_loop)
1241	(resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
1242	(check_symbol_not_pointer, check_array_not_assumed)
1243	(resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
1244	(oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
1245	(omp_code_to_statement, oacc_code_to_statement)
1246	(resolve_oacc_directive_inside_omp_region)
1247	(resolve_omp_directive_inside_oacc_region)
1248	(resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
1249	(resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
1250	(resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
1251	(gfc_resolve_oacc_directive): New functions.
1252	* parse.c (next_free): Update for OpenACC.  Move some code into...
1253	(verify_token_free): ... this new function.
1254	(next_fixed): Update for OpenACC.  Move some code into...
1255	(verify_token_fixed): ... this new function.
1256	(case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
1257	ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
1258	(case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
1259	ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
1260	ST_OACC_KERNELS_LOOP.
1261	(case_decl): Add ST_OACC_ROUTINE.
1262	(push_state, parse_critical_block, parse_progunit): Update for
1263	OpenACC.
1264	(gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
1265	ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
1266	ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
1267	ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
1268	ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
1269	ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
1270	ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
1271	ST_OACC_ROUTINE.
1272	(verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
1273	(parse_executable): Handle ST_OACC_PARALLEL_LOOP,
1274	ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
1275	ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
1276	(decode_oacc_directive, parse_oacc_structured_block)
1277	(parse_oacc_loop, is_oacc): New functions.
1278	* parse.h (struct gfc_state_data): Add oacc_declare_clauses
1279	member.
1280	(is_oacc): New prototype.
1281	* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
1282	EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
1283	EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
1284	EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
1285	EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
1286	EXEC_OACC_EXIT_DATA.
1287	(resolve_codes): Call gfc_resolve_oacc_declare.
1288	* scanner.c (openacc_flag, openacc_locus): New variables.
1289	(skip_free_comments): Update for OpenACC.  Move some code into...
1290	(skip_omp_attribute): ... this new function.
1291	(skip_oacc_attribute): New function.
1292	(skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
1293	* st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
1294	EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
1295	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
1296	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
1297	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
1298	* trans-decl.c (gfc_generate_function_code): Update for OpenACC.
1299	* trans-openmp.c: Include "gomp-constants.h".
1300	(gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
1301	instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
1302	(gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
1303	OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
1304	OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
1305	OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
1306	OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
1307	independent, wait_list, num_gangs_expr, num_workers_expr,
1308	vector_length_expr, vector, vector_expr, worker, worker_expr,
1309	gang, gang_expr members.
1310	(gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
1311	(gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
1312	(gfc_trans_oacc_executable_directive)
1313	(gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
1314	(gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
1315	* trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
1316	* trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
1317	New prototypes.
1318	* trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
1319	EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
1320	EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
1321	EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
1322	EXEC_OACC_EXIT_DATA.
1323	* gfortran.texi: Update for OpenACC.
1324	* intrinsic.texi: Likewise.
1325	* invoke.texi: Likewise.
1326
13272015-01-15  Janus Weil  <janus@gcc.gnu.org>
1328
1329	PR fortran/58023
1330	* resolve.c (resolve_fl_derived0): Continue resolving next component
1331	after error.
1332
13332015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1334
1335	PR fortran/61933
1336	* io.c (gfc_match_inquire): Generate error if unit number in
1337	inquire statement is a constant -1.  All other values allowed.
1338	* trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
1339	(create_dummy_iostat): Delete function no longer used.
1340
13412015-01-13  Jakub Jelinek  <jakub@redhat.com>
1342
1343	PR fortran/64528
1344	* trans-decl.c (create_function_arglist): Don't set TREE_READONLY
1345	on dummy args with VALUE attribute.
1346
13472015-01-11  Janus Weil  <janus@gcc.gnu.org>
1348
1349	PR fortran/63733
1350	* interface.c (gfc_extend_expr): Look for type-bound operators before
1351	non-typebound ones.
1352
13532015-01-11  Janus Weil  <janus@gcc.gnu.org>
1354
1355	PR fortran/58023
1356	* resolve.c (resolve_fl_derived0): Set error flag if problems with the
1357	interface of a procedure-pointer component were detected.
1358
13592015-01-11  Janus Weil  <janus@gcc.gnu.org>
1360
1361	PR fortran/64508
1362	* interface.c (compare_parameter): Interface check for
1363	procedure-pointer component as actual argument.
1364
13652015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1366
1367	* gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
1368	Runtime Library" to "GNU Offloading and Multi Processing Runtime
1369	Library".
1370	* intrinsic.texi: Likewise.
1371
13722015-01-10  Tobias Burnus  <burnus@net-b.de>
1373
1374	PR fortran/64522
1375	* invoke.texi (Wline-truncation): Document new behaviour.
1376	* lang.opt (Wline-truncation): Add Init(-1).
1377	* options.c (gfc_post_options): If -Wline-truncation is unset,
1378	enable it for free-form source files; for the latter, also use
1379	-Werror=line-truncation, unless -Wno-error has been specified.
1380
13812015-01-09  Michael Collison  <michael.collison@linaro.org>
1382
1383	* convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1384	input.h, alias.h, symtab.h, options.h, fold-const.h,
1385	wide-int.h, and inchash.h due to flattening of tree.h.
1386	* cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1387	input.h, alias.h, symtab.h, fold-const.h,
1388	wide-int.h, and inchash.h due to flattening of tree.h.
1389	* decl.c: Ditto.
1390	* f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1391	input.h, alias.h, symtab.h, options.h, fold-const.h,
1392	wide-int.h, and inchash.h due to flattening of tree.h.
1393	* iresolve.c: Ditto.
1394	* match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1395	input.h, alias.h, symtab.h, fold-const.h,
1396	wide-int.h, and inchash.h due to flattening of tree.h.
1397	* module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1398	input.h, alias.h, symtab.h, options.h, fold-const.h,
1399	wide-int.h, and inchash.h due to flattening of tree.h.
1400	* options.c: Ditto.
1401	* target-memory.c: Include hash-set.h, vec.h,
1402	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
1403	wide-int.h, and inchash.h due to flattening of tree.h.
1404	* trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1405	input.h, alias.h, symtab.h, options.h, fold-const.h,
1406	wide-int.h, and inchash.h due to flattening of tree.h.
1407	* trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1408	input.h, alias.h, symtab.h, options.h, fold-const.h,
1409	wide-int.h, and inchash.h due to flattening of tree.h.
1410	* trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1411	input.h, alias.h, symtab.h, fold-const.h,
1412	wide-int.h, and inchash.h due to flattening of tree.h.
1413	* trans-const.c: Ditto.
1414	* trans-decl.c: Ditto.
1415	* trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1416	input.h, alias.h, symtab.h, options.h, fold-const.h,
1417	wide-int.h, and inchash.h due to flattening of tree.h.
1418	* trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1419	input.h, alias.h, symtab.h, fold-const.h,
1420	wide-int.h, inchash.h and real.h due to flattening of tree.h.
1421	* trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1422	input.h, alias.h, symtab.h, options.h, fold-const.h,
1423	wide-int.h, and inchash.h due to flattening of tree.h.
1424	* trans-openmp.c: Ditto.
1425	* trans-stmt.c: Ditto.
1426	* trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1427	input.h, alias.h, symtab.h, fold-const.h,
1428	wide-int.h, inchash.h and real.h due to flattening of tree.h.
1429
14302015-01-08  Tobias Burnus  <burnus@net-b.de>
1431
1432	* trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1433	for module coarrays with -fcoarray=lib.
1434	(get_proc_pointer_decl): As module variable, make only public
1435	when not marked as private.
1436
14372015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1438
1439	PR fortran/47674
1440	* dependency.h:  Actually commit changes.
1441
14422015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1443
1444	PR fortran/47674
1445	* dependency.c:  Update copyright years.
1446	(gfc_discard_nops):  Add prototype.
1447	* dependency.c (discard_nops):  Rename to gfc_discard_nops,
1448	make non-static.
1449	(gfc_discard_nops):  Use gfc_discard_nops.
1450	(gfc_dep_difference):  Likewise.
1451	* frontend-passes.c  Update copyright years.
1452	(realloc_strings):  New function.  Add prototype.
1453	(gfc_run_passes):  Call realloc_strings.
1454	(realloc_string_callback):  New function.
1455	(create_var):  Add prototype.  Handle case of a
1456	scalar character variable.
1457	(optimize_trim):  Do not handle allocatable variables.
1458
14592015-01-05  Jakub Jelinek  <jakub@redhat.com>
1460
1461	Update copyright years.
1462
1463	* gfortranspec.c (lang_specific_driver): Update copyright notice
1464	dates.
1465	* gfc-internals.texi: Bump @copying's copyright year.
1466	* gfortran.texi: Ditto.
1467	* intrinsic.texi: Ditto.
1468	* invoke.texi: Ditto.
1469
14702015-01-02  Janus Weil  <janus@gcc.gnu.org>
1471
1472	PR fortran/57562
1473	* expr.c (find_component_ref): Deal with extended types.
1474
14752015-01-02  Tobias Burnus  <burnus@net-b.de>
1476
1477	* trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1478	for module coarrays with -fcoarray=lib.
1479
14802015-01-02  Janus Weil  <janus@gcc.gnu.org>
1481
1482	PR fortran/60507
1483	* interface.c (is_procptr_result): New function to check if an
1484	expression is a procedure-pointer result.
1485	(compare_actual_formal): Use it.
1486^L
1487Copyright (C) 2015 Free Software Foundation, Inc.
1488
1489Copying and distribution of this file, with or without modification,
1490are permitted in any medium without royalty provided the copyright
1491notice and this notice are preserved.
1492