aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
blob: c54de23b7b758187d11288ac0939ec2c5431e904 (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
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
2016-12-21  Release Manager

	* GCC 6.3.0 released.

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

	Backport from trunk
	PR fortran/78593
	* primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE.

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

	Backported from mainline
	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-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-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/58001
	* io.c (next_char_not_space): Update handling of a 'tab' in a FORMAT.
 	(format_lex): Adjust invocations of next_char_not_space().

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

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

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

	Backport from trunk
	PR fortran/78221
	* arith.c (gfc_complex2real):  Change gfc_warning_now to
	gfc_warning.

2016-11-02  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-10-31  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-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/67219
	* arith.c (gfc_int2real):  Change gfc_warning_now
	to gfc_warning.
	* primary.c (match_complex_constant):  If there
	is no comma, throw away any warning which might have
	been issued by gfc_int2real.

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

	PR fortran/71891
	* symbol.c (gfc_type_compatible): Fix typo.

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

	PR fortran/78092
	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof):  Fix reference to an
	array element of type CLASS.

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

	Backport from trunk
	PR fortran/78108
	* resolve.c (resolve_typebound_intrinsic_op): For submodules
	suppress the error and return if the same procedure symbol
	is added more than once to the interface.

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-23  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77763
	* parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA.  Sort
	case labels.

2016-10-23  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-23  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-23  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from trunk
	PR fortran/72832
	* trans-expr.c (gfc_copy_class_to_class): Add generation of
	runtime array bounds check.
	* trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to
	get the descriptor of a function returning a class object.
	* trans-stmt.c (gfc_trans_allocate): Use the array spec on the
	array to allocate instead of the array spec from source=.

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-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/77915
	* frontend-passes.c (inline_matmul_assign):  Return early if
	inside a FORALL statement.

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

	PR fortran/77942
	* simplify.c (gfc_simplify_cshift): Check for zero.

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

	PR fortran/77406
	* interface.c (gfc_compare_interfaces): Fix detection of ambiguous
	interface involving alternate return.
	(check_interface1): Improve error message and loci.

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-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backport from trunk
	PR fortran/41922
	* target-memory.c (expr_to_char): Pass in locus and use it in error
	messages.
	(gfc_merge_initializers): Ditto.
	* target-memory.h: Update prototype for gfc_merge_initializers ().
	* trans-common.c (get_init_field): Use the correct locus.

	PR fortran/60774
	* parse.c (next_free,next_fixed): Issue error for statement label
	without a statement.

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

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

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

	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.

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

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

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

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

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

	PR fortran/71862
	* class.c: Remove assert.  Iterate over component only if non-null.

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

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

	PR fortran/77372
	simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.

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

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

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

	PR fortran/77429
	* dependency.c (gfc_check_dependency):  Convert gcc_assert() to
	a conditional and possible call to  gfc_internal_error().

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

	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.

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

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

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

	Backported from mainline
	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.

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

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

	PR fortran/77352
	* trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a
	BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns.

	PR fortran/77374
	* parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic
	to cp->block->ext.omp_atomic.
	* resolve.c (gfc_resolve_blocks): Assert block with one or two
	EXEC_ASSIGNs for EXEC_*_ATOMIC.
	* openmp.c (resolve_omp_atomic): Don't assert one or two
	EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise
	error unexpected statements.

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

	PR fortran/71014
	* resolve.c (gfc_resolve): For ns->construct_entities don't save, clear
	and restore omp state around the resolving.

	PR fortran/69281
	* trans-openmp.c (gfc_trans_omp_parallel, gfc_trans_omp_task,
	gfc_trans_omp_target): Wrap gfc_trans_omp_code result in an extra
	BIND_EXPR with its own forced BLOCK.

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

	Backport from trunk
	PR fortran/77358
	* resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
	for deferred character length module procedures.

2016-08-22  Release Manager

	* GCC 6.2.0 released.

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

	Backport from trunk
	* frontend-passes.c (create_var):  Set ts.deferred for
	deferred-length character variables.
	* dump-parse-tree.c (show_typespec):  Also dump
	is_c_interop, is_iso_c and deferred flags.

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

	PR debug/71906
	* trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
	for decl's character length before gfc_finish_var_decl on the
	decl itself.

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

	Backport from trunk:
	PR fortran/71936
	* trans-array.c (gfc_array_allocate): When SOURCE= is a function
	stick with the ref of the object to allocate.

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-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-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

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

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

	Backported 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>

	Backported 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-09  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-02  Jakub Jelinek  <jakub@redhat.com>

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

	PR fortran/71687
	* f95-lang.c (struct binding_level): Add reversed field.
	(clear_binding_level): Adjust initializer.
	(getdecls): If reversed is clear, set it and nreverse the names
	chain before returning it.
	(poplevel): Use getdecls.
	* trans-decl.c (gfc_generate_function_code, gfc_process_block_locals):
	Use nreverse to pushdecl decls in the declaration order.

	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-29  Cesar Philippidis  <cesar@codesourcery.com>

	Back port from trunk
	2016-06-29  Cesar Philippidis  <cesar@codesourcery.com>

	* openmp.c (match_oacc_clause_gang): Rename to ...
	(match_oacc_clause_gwv): this.  Add support for OpenACC worker and
	vector clauses.
	(gfc_match_omp_clauses): Use match_oacc_clause_gwv for
	OMP_CLAUSE_{GANG,WORKER,VECTOR}.  Propagate any MATCH_ERRORs for
	invalid OMP_CLAUSE_{ASYNC,WAIT,GANG,WORKER,VECTOR} clauses.
	(gfc_match_oacc_wait): Propagate MATCH_ERROR for invalid
	oacc_expr_lists.  Adjust the first and needs_space arguments to
	gfc_match_omp_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-10  Thomas Schwinge  <thomas@codesourcery.com>

	PR c/71381
	Backport from trunk r237290:
	* openmp.c (gfc_match_oacc_cache): Add comment.

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

	PR fortran/69659
	* trans-array.c (gfc_trans_dummy_array_bias): For class arrays use
	the address of the _data component to reference the arrays data
	component.

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

	PR fortran/71156
	* decl.c (copy_prefix): Add checks that the module procedure
	declaration prefixes are compliant with the interface. Invert
	order of existing elemental and pure checks.
	* resolve.c (resolve_fl_procedure): Invert order of elemental
	and pure errors.

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

	* parse.c (case_decl): Move ST_OMP_* to ...
	(case_omp_decl): ... here, new macro.
	(verify_st_order): For case_omp_decl, complain about
	p->state >= ORDER_EXEC, but don't change p->state otherwise.

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-05-14  Fritz Reese  <fritzoreese@gmail.com>

	Backport from trunk: r236242
	* gfortran.texi: Update example of DEC UNION extension.

	Backport from trunk: r236241
	PR fortran/71047
	* expr.c (gfc_default_initializer): Avoid extra component refs in
	constructors for derived types and classes.

	Backport from trunk: r235999
	PR fortran/56226
	* module.c (dt_upper_string): Rename to gfc_dt_upper_string
	(dt_lower_string): Likewise.
	* gfortran.h: Make new gfc_dt_upper/lower_string global.
	* class.c: Use gfc_dt_upper_string.
	* decl.c: Likewise.
	* symbol.c: Likewise.
	* resolve.c (resolve_component): New function.
	(resolve_fl_derived0): Move component loop code to resolve_component.
	* parse.c (check_component): New function.
	(parse_derived): Move loop code to check_component.
	* lang.opt, invoke.texi, options.c : New option -fdec-structure.
	* libgfortran.h (bt): New basic type BT_UNION.
	* gfortran.h (gfc_option): New option -fdec-structure.
	(gfc_get_union_type, gfc_compare_union_types): New prototypes.
	(gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New
	macros.
	(gfc_find_component): Change prototype.
	* match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union,
	gfc_match_structure_decl): New prototypes.
	* parse.h (gfc_comp_struct): New macro.
	* symbol.c (gfc_find_component): Search for components in nested unions
	* class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp,
	copy_vtab_proc_comps): Update calls to gfc_find_component.
	* primary.c (gfc_convert_to_structure_constructor): Likewise.
	* symbol.c (gfc_add_component): Likewise.
	* resolve.c (resolve_typebound_function, resolve_typebound_subroutine,
	resolve_typebound_procedure, resolve_component, resolve_fl_derived):
	Likewise.
	* expr.c (get_union_init, component_init): New functions.
	* decl.c (match_clist_expr, match_record_decl, get_struct_decl,
	gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise.
	* interface.c (compare_components, gfc_compare_union_types): Likewise.
	* match.c (gfc_match_member_sep): Likewise.
	* parse.c (check_component, parse_union, parse_struct_map): Likewise.
	* resolve.c (resolve_fl_struct): Likewise.
	* symbol.c (find_union_component): Likewise.
	* trans-types.c (gfc_get_union_type): Likewise.
	* parse.c (parse_derived): Use new functions.
	* interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise.
	* expr.c (gfc_default_initializer): Likewise.
	* gfortran.texi: Support for DEC structures, unions, and maps.
	* gfortran.h (gfc_statement, sym_flavor): Likewise.
	* check.c (gfc_check_kill_sub): Likewise.
	* expr.c (gfc_copy_expr, simplify_const_ref,
	gfc_has_default_initializer): Likewise.
	* decl.c (build_sym, match_data_constant, add_init_expr_to_sym,
	match_pointer_init, build_struct, variable_decl,
	gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry,
	gfc_match_end, gfc_match_derived_decl): Likewise.
	* interface.c (check_interface0, check_interface1,
	gfc_search_interface): Likewise.
	* misc.c (gfc_basic_typename, gfc_typename): Likewise.
	* module.c (add_true_name, build_tnt, bt_types, mio_typespec,
	fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol,
	gfc_get_module_backend_decl): Likewise.
	* parse.h (gfc_compile_state): Likewise.
	* parse.c (decode_specification_statement, decode_statement,
	gfc_ascii_statement, verify_st_order, parse_spec): Likewise.
	* primary.c (gfc_match_varspec, gfc_match_structure_constructor,
	gfc_match_rvalue, match_variable): Likewise.
	* resolve.c (find_arglists, resolve_structure_cons,
	is_illegal_recursion, resolve_generic_f, get_declared_from_expr,
	resolve_typebound_subroutine, resolve_allocate_expr,
	nonscalar_typebound_assign, generate_component_assignments,
	resolve_fl_variable_derived, check_defined_assignments,
	resolve_component, resolve_symbol, resolve_equivalence_derived):
	Likewise.
	* symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived,
	gfc_restore_last_undo_checkpoint, gfc_type_compatible,
	gfc_find_dt_in_generic): Likewise.
	* trans-decl.c (gfc_get_module_backend_decl, create_function_arglist,
	gfc_create_module_variable, check_constant_initializer): Likewise.
	* trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer,
	gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
	gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p):
	Likewise.
	* trans-io.c (transfer_namelist_element, transfer_expr,
	gfc_trans_transfer): Likewise.
	* trans-stmt.c (gfc_trans_deallocate): Likewise.
	* trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal,
	gfc_get_derived_type): Likewise.

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

	PR fortran/70855
	* frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare.

2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>

	PR middle-end/70626
	* trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
	the reduction clause in both parallel and loop directives.

2016-04-27  Release Manager

	* GCC 6.1.0 released.

2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/67039
	* intrinsic.texi: Correct the documentation of pseudorandom
	number intrinsics.

2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/58000
	* gfortran.texi: Document OPEN( ... NAME=) as not implemented
	in GNU Fortran

2016-04-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/68566
	* array.c (match_array_element_spec): Add check for non-integer.
	* simplify.c (gfc_simplify_reshape): If source shape is NULL return.

2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>

	PR c/70436
	* openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
	future -Wparentheses warning.

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

	PR fortran/67538
	* resolve.c (resolve_allocate_expr): Emit error message when no
	array spec and no array valued source= expression is given in an
	F2008 allocate() for an array to allocate.

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-29  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>

	* 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-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/69043
	* scanner.c (load_file): Update to use S_ISREG macro.

2016-03-17  Thomas Schwinge  <thomas@codesourcery.com>

	* gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
	to OMP_MAP_DELETE.  Adjust all users.

2016-03-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Jim MacArthur  <jim.macarthur@codethink.co.uk>

	PR fortran/69043
	* scanner.c (load_file): Check that included file is regular.

2016-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Harold Anlauf  <anlauf@gmx.de>

	PR fortran/69520
	* invoke.texi: Explain use of the 'no-' construct within the
	-fcheck= option.
	* options.c (gfc_handle_runtime_check_option): Enable use of
	'no-' prefix for the various options with -fcheck= to allow
	negating previously enabled check options.

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

	PR fortran/70031
	* decl.c (gfc_match_prefix): Treat the 'module' prefix in the
	same way as the others, rather than fixing it to come last.
	(gfc_match_function_decl, gfc_match_subroutine): After errors
	in 'copy_prefix', emit them immediately in the case of module
	procedures to prevent a later ICE.

	PR fortran/69524
	* decl.c (gfc_match_submod_proc): Permit 'module procedure'
	declarations within the contains section of modules as well as
	submodules.
	* resolve.c (resolve_fl_procedure): Likewise.
	*trans-decl.c (build_function_decl): Change the gcc_assert to
	allow all forms of module procedure declarations within module
	contains sections.

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

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

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

	* dump-parse-tree.c (show_code_node):  Print association
	list of a block if present.  Handle EXEC_END_BLOCK.

2016-02-28  Harald Anlauf <anlauf@gmx.de>
	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/56007
	* match.c (gfc_match_iterator): Add diagnostic for array variable
	as do loop index.

2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69910
	* io.c (gfc_match_open): Check that open status is an expression
	constant before comparing string to 'scratch' with NEWUNIT.

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

	* 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>

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

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

	PR fortran/67451
	* trans-array.c (gfc_array_allocate): Take the attributes from the
	expression to allocate and not from the source=-expression.

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

	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.

2015-02-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

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

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

	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-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/60526
	PR bootstrap/69816
	* decl.c (build_sym):  Reverted previous patch.

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

	PR fortran/60526
	* decl.c (build_sym):  If the name has already been defined as a
	type, issue error and return false.

2016-02-12  David Malcolm  <dmalcolm@redhat.com>

	PR other/69554
	* error.c (gfc_diagnostic_start_span): New function.
	(gfc_diagnostics_init): Initialize global_dc's start_span.

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

	PR fortran/69296
	* gfortran.h: Added flag to gfc_association_list indicating that
	the rank of an associate variable has been guessed only.
	* parse.c (parse_associate): Set the guess flag mentioned above
	when guessing the rank of an expression.
	* resolve.c (resolve_assoc_var): When the rank has been guessed,
	make sure, that the guess was correct else overwrite with the actual
	rank.
	* trans-stmt.c (trans_associate_var): For subref_array_pointers in
	class objects, take the span from the _data component.

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

	PR fortran/50555
	* primary.c (match_actual_arg): If symbol has attribute flavor of
	namelist, generate an error. (gfc_match_rvalue): Likewise return
	MATCH_ERROR.
	* resolve.c (resolve_symbol): Scan arument list of procedures and
	generate an error if a namelist is found.

2016-02-05  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/66089
	* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
	the former to the latter and make it non-static.  Update callers.
	* gfortran.h (gfc_expr_is_variable): New declaration.
	(struct gfc_ss_info): Add field needs_temporary.
	* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
	Tighten the condition on aggregate expressions with a check
	that the expression is a variable and doesn't need a temporary.
	(gfc_conv_resolve_dependency): Add intermediary reference variable.
	Set the needs_temporary field.

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-02-02  Nathan Sidwell  <nathan@codesourcery.com>

	* lang.opt (fopenacc-dim=): New option.

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

	PR fortran/67564
	* trans-expr.c (gfc_conv_procedure_call): For the vtable copy
	subroutines, add a string length argument, when the actual
	argument is an unlimited polymorphic class object.

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

	PR fortran/69566
	* trans-expr.c (gfc_conv_procedure_call): Correct expression
	for 'ulim_copy', which was missing a test for 'comp'.

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

	PR fortran/62536
	* decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
	when the END encountered does not match a BLOCK's end.

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

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

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

	PR fortran/69422
	* trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
	for allocatable components, whilst checking if the symbol is a
	derived or class entity..

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

	PR fortran/69385
	* 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-01-26  David Malcolm  <dmalcolm@redhat.com>

	PR other/69006
	* error.c (gfc_diagnostic_starter): Delete use of pp_newline.

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

	PR fortran/69397
	PR fortran/68442
	* interface.c (gfc_arglist_matches_symbol): Replace assert with
	a return false if not a procedure.
	* resolve.c (resolve_generic_f): Test if we are resolving an
	initialization expression and adjust error message accordingly.

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

	PR fortran/66094
	* frontend-passes.c (matmul_lhs_realloc):  Add
	forgotten break statement.

2016-01-24  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-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66094
	* frontend-passes.c (enum matrix_case):  Add case A2B2T for
	MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
	(inline_limit_check):  Also add A2B2T.
	(matmul_lhs_realloc):  Handle A2B2T.
	(check_conjg_variable):  Rename to
	(check_conjg_transpose_variable):  and also count TRANSPOSE.
	(inline_matmul_assign):  Handle A2B2T.

2016-01-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	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-01-19  Martin Jambor  <mjambor@suse.cz>

	* types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.

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

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

	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-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/69154
	* frontend-passes.c (in_where):  New variable.
	(inline_matmul_assign):  Don't try this if we are within
	a WHERE statement.
	(gfc_code_walker):  Keep track of in_where.

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

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

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-01-04  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
	* gfc-internals.texi: Bump @copying's copyright year.
	* gfortran.texi: Ditto.
	* intrinsic.texi: Ditto.
	* invoke.texi: Ditto.

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

	PR fortran/68864
	* trans-array.c (evaluate_bound): If deferred, test that 'desc'
	is an array descriptor before using gfc_conv_descriptor_xxx.

Copyright (C) 2016 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.