aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
blob: c3356908f6d1cb4be7d37d7738217d5388773a42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
2017-09-02  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/81770
	* expr.c (gfc_check_pointer_assign): Improve the check whether pointer
	may outlive pointer target.

2017-06-09  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/70601
	* trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
	function results.

2017-05-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2016-12-21  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/78866
	* openmp.c (resolve_omp_clauses): Diagnose assumed size arrays in
	OpenMP map, to and from clauses.
	* trans-openmp.c: Include diagnostic-core.h, temporarily redefining
	GCC_DIAG_STYLE to __gcc_tdiag__.
	(gfc_omp_finish_clause): Diagnose implicitly mapped assumed size
	arrays.

	2016-09-27  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/77666
	* trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
	references to allocatable arrays.

	2016-09-08  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/77500
	* trans-openmp.c (gfc_trans_omp_atomic): For atomic write or
	swap, don't try to look through GFC_ISYM_CONVERSION.  In other cases,
	check that value.function.isym is non-NULL before dereferencing it.

2017-05-10  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2017-03-06  Richard Biener  <rguenther@suse.de>

	PR fortran/79894
	* trans.c (gfc_add_modify_loc): Weaken assert.

2017-05-01  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/80392
	* trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
	building a derived type that includes a procedure pointer component
	with a polymorphic result.

2017-04-21  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/80361
	* class.c (generate_finalization_wrapper): Give the finalization wrapper
	the recursive attribute.

2017-04-14  Dominique d'Humieres  <dominiq@lps.ens.fr>

	Backport from trunk
	2015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/59910
	PR fortran/80388
	* primary.c (gfc_match_structure_constructor): Reduce a structure
	constructor in a DATA statement.

2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>

	* trans-types.c	(gfc_get_int_kind_from_width_isofortranen):  Choose
	REAL type with the widest precision if two (or more) have the same
	storage size.

2016-12-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/78239
	* decl.c (char_len_param_value): Also check for -fimplicit-none
	when determining if implicit none is in force.

2016-12-04  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/78443
	* class.c (add_proc_comp): Add a vtype component for non-overridable
	procedures that are overriding.

2016-12-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78279
	* dependency.c (identical_array_ref): Convert gcc_assert to conditional
	and gfc_internal_error.

2016-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78500
	* expr.c (gfc_check_vardef_contextm): Fix NULL pointer dereference.
	* interface.c (matching_typebound_op): Ditto.

2016-11-23  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78297
	* trans-common.c (finish_equivalences): Do not dereference a NULL pointer.

2016-11-23  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/66227
	* simplify.c (gfc_simplify_extends_type_of): Fix missed optimization.
	Prevent over-simplification. Fix a comment. Add a comment.

2016-11-20  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/69741
	* resolve.c (gfc_resolve_forall): Check for nonscalar index variables.

2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/69544
	PR fortran/78178
	* match.c (match_simple_where):  Fill in locus for assigment
	in simple WHERE statement.
	(gfc_match_where):  Likewise.

2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/71902
	* frontend-passes.c (realloc_string_callback): Also check for the
	lhs being deferred.  Name temporary variable "realloc_string".

2016-10-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/78021
	* gfc_compare_functions:  Strings with different lengths in
	argument lists compare unequal.

2016-10-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71895
	* interface.c (gfc_compare_derived_types):  Convert gcc_assert()
	to a gfc_internal_error() to prevent an ICE.

2016-10-24  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/61420
	PR fortran/78013
	* resolve.c (resolve_variable): Obtain the typespec for a
	variable expression, when the variable is a function result
	that is a procedure pointer.

2016-10-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk
	PR fortran/77978
	* match.c (gfc_match_stopcode): Fix error reporting for several
	deficiencies in matching stop-codes.

2016-10-05  Steven G. Kargl  <kargls@gcc.gnu.org>

	PR fortran/58991
	PR fortran/58992
	* resolve.c (resolve_assoc_var):  Fix CHARACTER type-spec for a
	selector in ASSOCIATE.
	(resolve_fl_variable): Skip checks for an ASSOCIATE variable.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/77391
	* resolve.c (deferred_requirements): New function to check F2008:C402.
	(resolve_fl_variable,resolve_fl_parameter): Use it.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/77380
	* dependency.c (gfc_check_dependency): Do not assert with
	-fcoarray=lib.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/61318
	* interface.c (compare_parameter): Use better locus for error message.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/71859
	* check.c(numeric_check): Prevent ICE.  Issue error for invalid
	subroutine as an actual argument when numeric argument is expected.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport of trunk

	PR fortran/69867
	* decl.c (build_struct): Ensure that pointers point to something.

	PR fortran/69962
	* decl.c (gfc_set_constant_character_len):  if expr is not
	constant issue an error instead of an ICE.

2016-09-30  Steven g. Kargl  <kargl@gcc.gnu.org>

	Backport of trunk

	PR fortran/77351
	* frontend-passes.c (remove_trim,combine_array_constructor): Check for
	NULL pointer.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/68566
	* check.c (gfc_check_reshape): Check for constant expression.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/71799
	* resolve.c(gfc_resolve_iterator): Failure of type conversion need
	not ICE.

2016-09-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/70006
	* io.c (gfc_resolve_dt): Use correct locus.
	* resolve.c (resolve_branch): Ditto.

2016-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk

	PR fortran/77420
	* trans-common.c:  Handle array elements in equivalence when
	the lower and upper bounds of array spec are NULL.

	PR fortran/77460
	* simplify.c (simplify_transformation_to_scalar):  On error, result
	may be NULL, simply return.

2016-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk
	PR fortran/77506
	* array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot
	appear in an array constructor.

	PR fortran/77507
	* intrinsic.c (add_functions):  Use correct keyword.

2016-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk
	PR fortran/71067
	* decl.c (match_data_constant): On error, set 'result' to NULL.

	PR fortran/77260
	* gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning
	for unused variable if symbol is entry point.

2016-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk
	PR fortran/69514
	* array.c (gfc_match_array_constructor):  If type-spec is present,
	walk the array constructor performing possible conversions for
	numeric types.

2016-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	backport from trunk
	PR fortran/71730
	* decl.c (char_len_param_value): Check return value of
	gfc_reduce_init_expr().

	PR fortran/77612
	* decl.c (char_len_param_value): Check parent namespace for
	seen_implicit_none.

2016-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	backport from trunk
	PR fortran/77694
	* frontend-passes.c (optimize_binop_array_assignment): Check pointer
	for NULL.

2016-08-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/68147
	* frontend-passes.c (realloc_string_callback): Don't set
	walk_subtrees.

2016-08-11  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backport from trunk:
	PR fortran/72698
	* trans-stmt.c (gfc_trans_allocate): Prevent generating code for
	copy of zero sized string and with it an ICE.

2016-08-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/71795
	* frontend-passes.c (combine_array_constructor):  Don't
	do anything if the expression is inside an array iterator.

2016-08-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/69742
	* frontend-passes.c (cfe-expr_0):  Don't register functions
	from within an ASSOCIATE statement.

2016-08-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/60526
	* decl.c (build_sym):  If the name has already been defined as a
	type, it has a symtree with an upper case letter at the beginning.
	If such a symtree exists, issue an error and exit.  Don't do
	this if there is no corresponding upper case letter.

2016-08-08  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backport from trunk:
	PR fortran/70524
	* trans-array.c (gfc_trans_dummy_array_bias): Ensure that the
	location information is correctly set.
	* trans-decl.c (gfc_trans_deferred_vars): Set the locus of the
	current construct early.

2016-07-29  Steven G. Kargl  <kargl@gcc.gnu.org>
	    Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk:
	PR fortran/71883
	* frontend-passes.c (gfc_run_passes): Bail out if there are any
	errors.
	* error.c (gfc_internal_error): If there are any errors in the
	buffer, exit with EXIT_FAILURE.

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backport from trunk:
	PR fortran/71807
	* trans-expr.c (gfc_trans_subcomponent_assign): Special casing
	when allocatable component is set to null() in initializer.

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backport from trunk:
	PR fortran/70842
	* simplify.c (gfc_simplify_len): Only for unlimited polymorphic
	types replace the expression's _data ref with a _len ref.

2016-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backport from trunk:
	PR fortran/71764
	* trans-expr.c (gfc_trans_structure_assign): Remove assert.

2016-07-13  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backport from trunk:
	PR fortran/71623
	* trans-stmt.c (gfc_trans_allocate): Add code of pre block of typespec
	in allocate to parent block.

2016-07-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk:
	PR fortran/71783
	* frontend-passes.c (create_var):  Always allocate a charlen
	for character variables.

2016-07-08  Cesar Philippidis  <cesar@codesourcery.com>

	Backport from trunk:
	2016-07-08  Cesar Philippidis  <cesar@codesourcery.com>

	* parse.c (matcha): Define.
	(decode_oacc_directive): Add spec_only local var and set it.  Use
	matcha to parse acc directives except for routine and declare.  Return
	ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be
	matched.

2016-07-07  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2016-07-01  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/71717
	* trans-openmp.c (gfc_omp_privatize_by_reference): Return false
	for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE.

	2016-06-30  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/71704
	* parse.c (matchs, matcho): Move right before decode_omp_directive.
	If spec_only, only gfc_match the keyword and if successful, goto
	do_spec_only.
	(matchds, matchdo): Define.
	(decode_omp_directive): Add spec_only local var and set it.
	Use matchds or matchdo macros instead of matchs or matcho
	for declare target, declare simd, declare reduction and threadprivate
	directives.  Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
	directive could be matched.
	(next_statement): For ST_GET_FCN_CHARACTERISTICS restore
	gfc_current_locus from old_locus even if there is no label.

	PR fortran/71705
	* trans-openmp.c (gfc_trans_omp_clauses): Set TREE_ADDRESSABLE on
	decls in to/from clauses.

2016-06-27  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/70673
	* frontend-passes.c (realloc_string_callback): Add a call to
	gfc_dep_compare_expr.

2016-06-12  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/60751
	* io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.

2016-06-03  Release Manager

	* GCC 5.4.0 released.

2016-06-02  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk.
	PR fortran/70350
	* trans-expr.c (gfc_trans_assignment_1): Exclude initialization
	assignments from check on assignment of scalars to unassigned
	arrays and correct wrong code within the corresponding block.

2016-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backport from trunk.
	PR fortran/66461
	* scanner.c (gfc_next_char_literal): Clear end_flag when adjusting
	current locus back to old_locus.

2016-05-20  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/71204
	* frontend-passes.c (realloc_string_callback): Clear inserted_block
	and changed_statement before calling create_var.

2016-05-15  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/69603
	* interface.c (compare_parameter): Check for non-NULL pointer.

2016-04-04  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/66911
	* trans-stmt.c (gfc_trans_allocate): Get the deferred length of an
	expression by converting the expression when the length is not set
	in the symbol's ts.

2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/65795
	* trans-array.c (gfc_array_allocate): When the array is a coarray,
	do not nullyfing its allocatable components in array_allocate, because
	the nullify missed the array ref and nullifies the wrong component.
	Cosmetics.

2016-03-28  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/70397
	* trans-expr.c (gfc_class_len_or_zero_get): Add function to return a
	constant zero tree, when the class to get the _len component from is
	not unlimited polymorphic.
	(gfc_copy_class_to_class): Use the new function.
	* trans.h: Added interface of new function gfc_class_len_or_zero_get.

2016-03-28  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

	Backport from trunk.
	* trans-decl.c (gfc_build_builtin_function_decls):
	caf_stop_numeric and caf_stop_str definition.
	* trans-stmt.c (gfc_trans_stop): invoke external functions
	for stop and stop_str when coarrays are used.
	* trans.h: extern for new functions.

2016-03-09  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk.
	PR fortran/69423
	* trans-decl.c (create_function_arglist): Deferred character
	length functions, with and without declared results, address
	the passed reference type as '.result' and the local string
	length as '..result'.
	(gfc_null_and_pass_deferred_len): Helper function to null and
	return deferred string lengths, as needed.
	(gfc_trans_deferred_vars): Call it, thereby reducing repeated
	code, add call for deferred arrays and reroute pointer function
	results. Avoid using 'tmp' for anything other that a temporary
	tree by introducing 'type_of_array' for the arrayspec type.

2016-03-09  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk.
	PR fortran/64324
	* resolve.c (check_uop_procedure): Prevent deferred length
	characters from being trapped by assumed length error.

	Backport from trunk.
	PR fortran/49630
	PR fortran/54070
	PR fortran/60593
	PR fortran/60795
	PR fortran/61147
	PR fortran/64324
	* trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
	function as well as variable expressions.
	(gfc_array_init_size): Add 'expr' as an argument. Use this to
	correctly set the descriptor dtype for deferred characters.
	(gfc_array_allocate): Add 'expr' to the call to
	'gfc_array_init_size'.
	* trans.c (gfc_build_array_ref): Expand logic for setting span
	to include indirect references to character lengths.
	* trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
	result char lengths that are PARM_DECLs are indirectly
	referenced both for directly passed and by reference.
	(create_function_arglist): If the length type is a pointer type
	then store the length as the 'passed_length' and make the char
	length an indirect reference to it.
	(gfc_trans_deferred_vars): If a character length has escaped
	being set as an indirect reference, return it via the 'passed
	length'.
	* trans-expr.c (gfc_conv_procedure_call): The length of
	deferred character length results is set TREE_STATIC and set to
	zero.
	(gfc_trans_assignment_1): Do not fix the rse string_length if
	it is a variable, a parameter or an indirect reference. Add the
	code to trap assignment of scalars to unallocated arrays.
	* trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
	all references to it. Instead, replicate the code to obtain a
	explicitly defined string length and provide a value before
	array allocation so that the dtype is correctly set.
	trans-types.c (gfc_get_character_type): If the character length
	is a pointer, use the indirect reference.

2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backported from mainline
	PR fortran/61156
	* scanner.c (add_path_to_list): If include path is not a directory,
	issue a fatal error.

2016-02-27  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

	Backported from mainline
	* trans.c (gfc_allocate_allocatable): size conversion
	from byte to number of elements for event variables.
	* trans-types.c (gfc_get_derived_type): event variables
	represented as a pointer (like lock variable).

2016-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backported from mainline
	PR fortran/65996
	* error.c (gfc_error): Save the state of abort_on_error and set
	it to false for buffered errors to allow normal processing.
	Restore the state before leaving.

2016-02-12  Tobias Burnus  <burnus@net-b.de>
	    Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

	Backported from mainline
	2015-12-02  Tobias Burnus  <burnus@net-b.de>
	Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

	* check.c (gfc_check_event_query): New function.
	* dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST,
	EXEC_EVENT_WAIT.
	* expr.c (gfc_check_vardef_context): New check for event variables
	definition.
	* gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(gfc_isym_id): GFC_ISYM_EVENT_QUERY.
	(struct symbol_attribute): New field.
	(gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT.
	* gfortran.texi: Document about new events functions and minor
	changes.
	* interface.c (compare_parameter): New check.
	(gfc_procedure_use): New check for explicit procedure interface.
	(add_subroutines): Add event_query.
	* intrinsic.h (gfc_check_event_query,gfc_resolve_event_query):
	New prototypes.
	* iresolve.c (gfc_resolve_event_query): New function.
	* iso-fortran-env.def (event_type): New type.
	* match.c (event_statement,gfc_match_event_post,gfc_match_event_wait):
	New functions.
	(gfc_match_name): New event post and event wait.
	* match.h (gfc_match_event_post,gfc_match_event_wait):
	New prototypes.
	* module.c (ab_attribute): Add AB_EVENT_COMP.
	(attr_bits): Likewise.
	(mio_symbol_attribute): Handle event_comp attribute.
	* parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(parse_derived): Check for event_type components.
	* resolve.c (resolve_allocate_expr): Check for event variable def.
	(resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It
	includes logic for locks and events.
	(gfc_resolve_code): Call it.
	(gfc_resolve_symbol): New check for event variable to be a corray.
	* st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and
	EXEC_EVENT_WAIT.
	* trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
	gfor_fndecl_caf_event_query): New global variables.
	(generate_coarray_sym_init): Checking for event_type.
	(gfc_conv_procedure_call): Check for C bind attribute.
	* trans-intrinsic.c (conv_intrinsic_event_query): New function.
	(conv_intrinsic_move_alloc): Call it.
	* trans-stmt.c (gfc_trans_lock_unlock): Passing address
	of actual argument.
	(gfc_trans_sync): Likewise.
	(gfc_trans_event_post_wait): New function.
	* trans-stmt.h (gfc_trans_event_post_wait): New prototype.
	* trans-types.c (gfc_get_derived_type): Integer_kind as event_type.
	* trans.c (gfc_allocate_using_lib): New argument and logic for events.
	(gfc_allocate_allocatable): Passing new argument.
	(trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT.
	* trans.h (gfc_coarray_type): New elements.
	(gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
	gfor_fndecl_caf_event_query): Declare them.

2016-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2016-01-08  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/69128
	* trans.h (OMPWS_SCALARIZER_BODY): Define.
	(OMPWS_NOWAIT): Renumber.
	* trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
	if OMPWS_SCALARIZER_BODY is not set already, and set also
	OMPWS_SCALARIZER_BODY until the final loop creation.
	* trans-expr.c (gfc_trans_assignment_1): Likewise.
	* trans-openmp.c (gfc_trans_omp_workshare): Also clear
	OMPWS_SCALARIZER_BODY.
	* trans-array.c (gfc_trans_scalarized_loop_end): Don't create
	OMP_FOR if OMPWS_SCALARIZER_BODY is set.

2016-02-03  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/67451
	PR fortran/69418
	* trans-expr.c (gfc_copy_class_to_class): For coarrays just the
	pointer is passed.  Take it as is without trying to deref the
	_data component.
	* trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
	argument to source=-expression.

2016-01-30  Bud Davis  <jmdavis@link.com>
	    Mikael Morin  <mikael@gcc.gnu.org>

	Backport from trunk.
	PR fortran/59746
	* symbol.c (gfc_restore_last_undo_checkpoint): Delete
	a common block symbol if it was put in the list.

2016-01-28  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/69484
	* invoke.texi: Fix documentation of -Wall with respect to -Wtabs.

2016-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/62536
	* decl.c: Prevent setting gfc_current_ns to NULL when block statement's
	nesting is incomplete.  There is already an error conditon, so having
	gfc_current_ns pointing to an eventually wrong namespace does not matter
	that much.

2016-01-27  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/p69268
	* trans-stmt.c (gfc_trans_allocate): Make sure the source=
	expression is evaluated once only. Use gfc_trans_assignment ()
	instead of explicitly calling gfc_trans_string_copy () to
	reduce the code complexity in trans_allocate.

2016-01-25  Dominique d'Humieres <dominiq@lps.ens.fr>

	PR fortran/68283
	* primary.c (gfc_variable_attr): revert revision r221955,
	call gfc_internal_error only if there is no error.

2016-01-17  Mikael Morin  <mikael@gcc.gnu.org>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	Backport from trunk.
	PR fortran/61831
	* trans-array.c (gfc_conv_array_parameter): Guard allocatable
	component deallocation code generation with descriptorless
	calling convention flag.
	* trans-expr.c (gfc_conv_expr_reference): Remove allocatable
	component deallocation code generation from revision 212329.
	(expr_may_alias_variables): New function.
	(gfc_conv_procedure_call): New boolean elemental_proc to factor
	check for procedure elemental-ness.  Rename boolean f to nodesc_arg
	and declare it in the outer scope.  Use expr_may_alias_variables,
	elemental_proc and nodesc_arg to decide whether generate allocatable
	component deallocation code.
	(gfc_trans_subarray_assign): Set deep copy flag.

2016-01-17  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk.
	PR fortran/66082
	* trans-array.c (gfc_conv_array_parameter): Ensure that all
	non-variable arrays with allocatable components have the
	components deallocated after the procedure call.

2016-01-10  Paul Thomas  <pault@gcc.gnu.org>

	Update copyright years in updated files.

	PR fortran/50221
	PR fortran/68216
	PR fortran/63932
	PR fortran/66408
	* trans_array.c (gfc_conv_scalarized_array_ref): Pass the
	symbol decl for deferred character length array references.
	* trans-stmt.c (gfc_trans_allocate): Keep the string lengths
	to update deferred length character string lengths.
	* trans-types.c (gfc_get_dtype_rank_type); Use the string
	length of deferred character types for the dtype size.
	* trans.c (gfc_build_array_ref): For references to deferred
	character arrays, use the domain max value, if it is a variable
	to set the 'span' and use pointer arithmetic for acces to the
	element.
	(trans_code): Set gfc_current_locus for diagnostic purposes.

	PR fortran/67674
	* trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
	string lengths of components.

	PR fortran/49954
	* resolve.c (deferred_op_assign): New function.
	(gfc_resolve_code): Call it.
	* trans-array.c (concat_str_length): New function.
	(gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
	realloc blocks for deferred character length arrays because the
	string length might change, even if the shape is the same. Call
	concat_str_length to obtain the string length for concatenation
	since it is needed to compute the lhs string length.
	Set the descriptor dtype appropriately for the new string
	length.
	* trans-expr.c (gfc_trans_assignment_1): Fix the rse string
	length for all characters, other than deferred types. For
	concatenation operators, push the rse.pre block to the inner
	most loop so that the temporary pointer and the assignments
	are properly placed.

	PR fortran/67779
	* trans_array.c (gfc_conv_scalarized_array_ref): Add missing
	se->use_offset from condition for calculation of 'base'.

^L
Copyright (C) 2015 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.