summaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
blob: ce4063edd0684db1927fedd5d2a840808213f0be (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
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.