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