aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/fortran/ChangeLog
blob: 42f0321c5e8924f1badb4aa064dc2387b07fcd01 (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
2014-04-22  Tobias Burnus  <burnus@net-b.de>

	Backport from mainline
	2014-04-11  Tobias Burnus  <burnus@net-b.de>

	PR fortran/58880
	PR fortran/60495
	* resolve.c (gfc_resolve_finalizers): Ensure that vtables
	and finalization wrappers are generated.

2014-04-22  Release Manager

	* GCC 4.9.0 released.

2014-04-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/58085
	PR fortran/60717
	* trans.h: Add 'use_offset' bitfield to gfc_se.
	* trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
	as a trigger to unconditionally recalculate the offset for
	array slices and constant arrays.
	trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
	trans-stmt.c (trans_associate_var): Ditto.
	(gfc_conv_procedure_call): Ditto.

2014-04-11  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsic.texi (RANDOM_SEED): Improve example.

2014-04-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* class.c (gfc_build_class_symbol): Append "_t" to target class
	names to make the generated type names unique.

2014-04-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR fortran/60191
	* trans-types.c (gfc_get_function_type): In case of recursion
	build a variadic function type with empty argument list instead of a
	stdarg-like function type with incomplete argument list.

2014-04-04  Tobias Burnus  <burnus@net-b.de>

	* check.c (gfc_check_cmplx): Fix typo.

2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/60576
	* trans-expr.c (gfc_conv_derived_to_class): Avoid
	generation of out-of-bounds range expr.

2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/60677
	* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
	list buffer.

2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/60522
	* frontend-passes.c (cfe_code):  Do not walk subtrees
	for WHERE.

2014-03-27  Tobias Burnus  <burnus@net-b.de>

	PR fortran/58880
	* trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
	of nonpointers.

2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>

	PR fortran/34928
	* fortran.texi: Document Volatile COMMON as not supported.

2014-03-22  Jakub Jelinek  <jakub@redhat.com>

	PR debug/60603
	* cpp.c (gfc_cpp_init): Restore cb_change_file call to
	<built-in>.

2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/60148
	* gfortran.texi: Add description of namelist DELIM= behavior.

2014-03-19  Tobias Burnus  <burnus@net-b.>

	PR fortran/60543
	* io.c (check_io_constraints): Use gfc_unset_implicit_pure.
	* resolve.c (resolve_ordinary_assign): Ditto.

2014-03-19  Tobias Burnus  <burnus@net-b.de>

	PR fortran/60543
	PR fortran/60283
	* gfortran.h (gfc_unset_implicit_pure): New prototype.
	* resolve.c (gfc_unset_implicit_pure): New.
	(resolve_structure_cons, resolve_function,
	pure_subroutine): Use it.
	* decl.c (match_old_style_init, gfc_match_data,
	match_pointer_init, variable_decl): Ditto.
	* expr.c (gfc_check_pointer_assign): Ditto.
	* intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
	* io.c (match_vtag, gfc_match_open, gfc_match_close,
	match_filepos, gfc_match_inquire, gfc_match_print,
	gfc_match_wait): Ditto.
	* match.c (gfc_match_critical, gfc_match_stopcode,
	lock_unlock_statement, sync_statement, gfc_match_allocate,
	gfc_match_deallocate): Ditto.
	* parse.c (decode_omp_directive): Ditto.
	* symbol.c (gfc_add_save): Ditto.

2014-03-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55207
	PR fortran/60549
	* decl.c (match_attr_spec): Revert r208590.

2014-03-18  Jakub Jelinek  <jakub@redhat.com>

	PR ipa/58721
	* trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
	if !optimize.

2014-03-18  Tobias Burnus  <burnus@net-b.de>

	PR ipa/58721
	* trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
	(gfc_trans_io_runtime_check): Remove.
	* trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
	as argument, add predictor to block.
	(set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
	gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
	* trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
	(gfc_trans_runtime_check, gfc_allocate_using_malloc,
	gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
	branch predictor.
	* trans-expr.c (gfc_conv_procedure_call): Ditto.
	* trans-stmt.c (gfc_trans_allocate): Ditto.
	* trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.

2014-03-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55207
	* decl.c (match_attr_spec): Variables in the main program implicitly
	get the SAVE attribute in Fortran 2008.

2014-03-14  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/60392
	* trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
	if it has transposed dimensions.

2014-03-08  Tobias Burnus  <burnus@net-b.de>

	PR fortran/60447
	* f95-lang.c (gfc_init): Return false when only
	preprocessing.
	* options.c (gfc_post_options): Ditto.

2014-03-08  Tobias Burnus  <burnus@net-b.de>

	* gfortran.texi (Fortran 2003 Status): Mention finalization,
	deferred-length character support and input rounding.
	(Fortran 2008 Status): Mention that at termination
	signalling exceptions are shown.

2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51976
	* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
	* primary.c (build_actual_constructor): It is not an error if
	a missing component has the deferred_parameter attribute;
	equally, if one is given a value, it is an error.
	* resolve.c (resolve_fl_derived0): Remove error for deferred
	character length components.  Add the hidden string length
	field to the structure. Give it the deferred_parameter
	attribute.
	* trans-array.c (duplicate_allocatable): Add a strlen field
	which is used as the element size if it is non-null.
	(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
	NULL to the new argument in duplicate_allocatable.
	(structure_alloc_comps): Set the hidden string length as
	appropriate. Use it in calls to duplicate_allocatable.
	(gfc_alloc_allocatable_for_assignment): When a deferred length
	backend declaration is variable, use that; otherwise use the
	string length from the expression evaluation.
	* trans-expr.c (gfc_conv_component_ref): If this is a deferred
	character length component, the string length should have the
	value of the hidden string length field.
	(gfc_trans_subcomponent_assign): Set the hidden string length
	field for deferred character length components.  Allocate the
	necessary memory for the string.
	(alloc_scalar_allocatable_for_assignment): Same change as in
	gfc_alloc_allocatable_for_assignment above.
	* trans-stmt.c (gfc_trans_allocate): Likewise.
	* trans-intrinsic (size_of_string_in_bytes): Make non-static.
	* trans-types.c (gfc_get_derived_type): Set the tree type for
	a deferred character length component.
	* trans.c (gfc_deferred_strlen): New function.
	* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.

2014-03-01  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/60341
	* frontend-passes.c (optimize_comparison): Guard two union accesses
	with the corresponding tag checks.

2014-02-28  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60359
	* class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
	procedure for characters.

2014-02-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60302
	* check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
	is successful.

2014-02-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60234
	* gfortran.h (gfc_build_class_symbol): Removed argument.
	* class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
	(gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
	delayed now, except for unlimited polymorphics.
	(comp_is_finalizable): Procedure pointer components are not finalizable.
	* decl. (build_sym, build_struct, attr_decl1): Removed argument of
	'gfc_build_class_symbol'.
	* match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
	Ditto.
	* symbol.c (gfc_set_default_type): Ditto.

2014-02-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60232
	* expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
	functions, which are used as procedure pointer target.

2014-02-18  Tobias Burnus  <burnus@net-b.de>

	PR fortran/49397
	* expr.c (gfc_check_pointer_assign): Add check for
	F2008Cor2, C729.
	* trans-decl.c (gfc_get_symbol_decl): Correctly generate external
	decl in a corner case.

2014-02-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60231
	* resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
	arguments to prevent ICE.

2014-02-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55907
	* resolve.c (build_default_init_expr): Don't initialize character
	variable if -fno-automatic is given.

2014-02-15  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/59599
	* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
	number of arguments.

2014-02-11  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/52370
	* trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
	on decl if sym->attr.optional.

2014-02-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/57522
	* resolve.c (resolve_assoc_var): Set the subref_array_pointer
	attribute for the 'associate-name' if necessary.
	* trans-stmt.c (trans_associate_var): If the 'associate-name'
	is a subref_array_pointer, assign the element size of the
	associate variable to 'span'.

2014-02-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/59026
	* trans-expr.c (gfc_conv_procedure_call): Pass the value of the
	actual argument to a formal argument with the value attribute
	in an elemental procedure.

2014-02-08  Janus Weil  <janus@gcc.gnu.org>
	    Mikael Morin <mikael.morin@gcc.gnu.org>

	PR fortran/58470
	* class.c (generate_finalization_wrapper): Assert that proc_tree has
	been set in gfc_resolve_finalizers.
	* resolve.c (resolve_fl_derived0): Remove unnecessary call to
	gfc_is_finalizable.

2014-02-07  Benno Schulenberg  <bensberg@justemail.net>

	PR translation/52289
	* fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
	in an error message.

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

	PR fortran/57033
	* primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
	dereference.

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

	PR fortran/59906
	* trans-stmt.c (gfc_add_loop_ss_code): In the case of character
	SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
	pointer to the string is stored.
	* trans-expr.c (gfc_conv_expr_reference): Likewise, use
	gfc_conv_string_parameter to ensure that a pointer to is passed
	to the elemental function.

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

	PR fortran/59414
	* trans-stmt.c (gfc_trans_allocate): Before the pointer
	assignment to transfer the source _vptr to a class allocate
	expression, the final class reference should be exposed. The
	tail that includes the _data and array references is stored.
	This reduced expression is transferred to 'lhs' and the _vptr
	added. Then the tail is restored to the allocate expression.

2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/58007
	* module.c (read_module): Assert for component name correctness.

2014-01-18  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/58007
	* module.c (MOD_VERSION): Bump.
	(fp2, find_pointer2): Remove.
	(mio_component_ref): Don't forcedfully set the containing derived type
	symbol for loading.  Remove unused argument.
	(mio_ref): Update caller
	(mio_symbol): Dump component list earlier.
	(skip_list): New argument nest_level.  Initialize level with the new
	argument.
	(read_module): Add forced pointer components association for derived
	type symbols.

2014-01-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58026
	* decl.c (gfc_match_data_decl): Improve error recovery.

2014-01-09  Tobias Burnus  <burnus@net-b.de>

	* cpp.c (gfc_cpp_handle_option): Add missing break.
	* trans-io.c (transfer_expr): Silence unused value warning.

2014-01-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58182
	* resolve.c (gfc_verify_binding_labels): Modify order of checks.

2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59589
	* class.c (comp_is_finalizable): New function to dermine if a given
	component is finalizable.
	(finalize_component, generate_finalization_wrapper): Use it.

2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59023
	PR fortran/59662
	* resolve.c (resolve_global_procedure): Don't apply to c-binding
	procedures.
	(gfc_verify_binding_labels): Remove duplicate line.

2014-01-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59547
	* class.c (add_proc_comp): Copy pure attribute.

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years

2014-01-02  Tobias Burnus  <burnus@net-b.de>

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

2014-01-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59654
	* resolve.c (resolve_typebound_procedures): No need to create the vtab
	here.

Copyright (C) 2014 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.