check.c (gfc_check_cmplx): Fix typo.
[official-gcc.git] / gcc / fortran / ChangeLog
blobdcc84fd84fb699475ff21ce4fc7a5cd56202ded8
1 2014-04-04  Tobias Burnus  <burnus@net-b.de>
3         * check.c (gfc_check_cmplx): Fix typo.
5 2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
6             Tobias Burnus  <burnus@net-b.de>
8         PR fortran/60576
9         * trans-expr.c (gfc_conv_derived_to_class): Avoid
10         generation of out-of-bounds range expr.
12 2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
14         PR fortran/60677
15         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
16         list buffer.
18 2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
20         PR fortran/60522
21         * frontend-passes.c (cfe_code):  Do not walk subtrees
22         for WHERE.
24 2014-03-27  Tobias Burnus  <burnus@net-b.de>
26         PR fortran/58880
27         * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
28         of nonpointers.
30 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
32         PR fortran/34928
33         * fortran.texi: Document Volatile COMMON as not supported.
35 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
37         PR debug/60603
38         * cpp.c (gfc_cpp_init): Restore cb_change_file call to
39         <built-in>.
41 2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
43         PR fortran/60148
44         * gfortran.texi: Add description of namelist DELIM= behavior.
46 2014-03-19  Tobias Burnus  <burnus@net-b.>
48         PR fortran/60543
49         * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
50         * resolve.c (resolve_ordinary_assign): Ditto.
52 2014-03-19  Tobias Burnus  <burnus@net-b.de>
54         PR fortran/60543
55         PR fortran/60283
56         * gfortran.h (gfc_unset_implicit_pure): New prototype.
57         * resolve.c (gfc_unset_implicit_pure): New.
58         (resolve_structure_cons, resolve_function,
59         pure_subroutine): Use it.
60         * decl.c (match_old_style_init, gfc_match_data,
61         match_pointer_init, variable_decl): Ditto.
62         * expr.c (gfc_check_pointer_assign): Ditto.
63         * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
64         * io.c (match_vtag, gfc_match_open, gfc_match_close,
65         match_filepos, gfc_match_inquire, gfc_match_print,
66         gfc_match_wait): Ditto.
67         * match.c (gfc_match_critical, gfc_match_stopcode,
68         lock_unlock_statement, sync_statement, gfc_match_allocate,
69         gfc_match_deallocate): Ditto.
70         * parse.c (decode_omp_directive): Ditto.
71         * symbol.c (gfc_add_save): Ditto.
73 2014-03-18  Janus Weil  <janus@gcc.gnu.org>
75         PR fortran/55207
76         PR fortran/60549
77         * decl.c (match_attr_spec): Revert r208590.
79 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
81         PR ipa/58721
82         * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
83         if !optimize.
85 2014-03-18  Tobias Burnus  <burnus@net-b.de>
87         PR ipa/58721
88         * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
89         (gfc_trans_io_runtime_check): Remove.
90         * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
91         as argument, add predictor to block.
92         (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
93         gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
94         * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
95         (gfc_trans_runtime_check, gfc_allocate_using_malloc,
96         gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
97         branch predictor.
98         * trans-expr.c (gfc_conv_procedure_call): Ditto.
99         * trans-stmt.c (gfc_trans_allocate): Ditto.
100         * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
102 2014-03-15  Janus Weil  <janus@gcc.gnu.org>
104         PR fortran/55207
105         * decl.c (match_attr_spec): Variables in the main program implicitly
106         get the SAVE attribute in Fortran 2008.
108 2014-03-14  Mikael Morin  <mikael@gcc.gnu.org>
110         PR fortran/60392
111         * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
112         if it has transposed dimensions.
114 2014-03-08  Tobias Burnus  <burnus@net-b.de>
116         PR fortran/60447
117         * f95-lang.c (gfc_init): Return false when only
118         preprocessing.
119         * options.c (gfc_post_options): Ditto.
121 2014-03-08  Tobias Burnus  <burnus@net-b.de>
123         * gfortran.texi (Fortran 2003 Status): Mention finalization,
124         deferred-length character support and input rounding.
125         (Fortran 2008 Status): Mention that at termination
126         signalling exceptions are shown.
128 2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
129             Janus Weil  <janus@gcc.gnu.org>
131         PR fortran/51976
132         * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
133         * primary.c (build_actual_constructor): It is not an error if
134         a missing component has the deferred_parameter attribute;
135         equally, if one is given a value, it is an error.
136         * resolve.c (resolve_fl_derived0): Remove error for deferred
137         character length components.  Add the hidden string length
138         field to the structure. Give it the deferred_parameter
139         attribute.
140         * trans-array.c (duplicate_allocatable): Add a strlen field
141         which is used as the element size if it is non-null.
142         (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
143         NULL to the new argument in duplicate_allocatable.
144         (structure_alloc_comps): Set the hidden string length as
145         appropriate. Use it in calls to duplicate_allocatable.
146         (gfc_alloc_allocatable_for_assignment): When a deferred length
147         backend declaration is variable, use that; otherwise use the
148         string length from the expression evaluation.
149         * trans-expr.c (gfc_conv_component_ref): If this is a deferred
150         character length component, the string length should have the
151         value of the hidden string length field.
152         (gfc_trans_subcomponent_assign): Set the hidden string length
153         field for deferred character length components.  Allocate the
154         necessary memory for the string.
155         (alloc_scalar_allocatable_for_assignment): Same change as in
156         gfc_alloc_allocatable_for_assignment above.
157         * trans-stmt.c (gfc_trans_allocate): Likewise.
158         * trans-intrinsic (size_of_string_in_bytes): Make non-static.
159         * trans-types.c (gfc_get_derived_type): Set the tree type for
160         a deferred character length component.
161         * trans.c (gfc_deferred_strlen): New function.
162         * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
164 2014-03-01  Mikael Morin  <mikael@gcc.gnu.org>
166         PR fortran/60341
167         * frontend-passes.c (optimize_comparison): Guard two union accesses
168         with the corresponding tag checks.
170 2014-02-28  Janus Weil  <janus@gcc.gnu.org>
172         PR fortran/60359
173         * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
174         procedure for characters.
176 2014-02-21  Janus Weil  <janus@gcc.gnu.org>
178         PR fortran/60302
179         * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
180         is successful.
182 2014-02-21  Janus Weil  <janus@gcc.gnu.org>
184         PR fortran/60234
185         * gfortran.h (gfc_build_class_symbol): Removed argument.
186         * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
187         (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
188         delayed now, except for unlimited polymorphics.
189         (comp_is_finalizable): Procedure pointer components are not finalizable.
190         * decl. (build_sym, build_struct, attr_decl1): Removed argument of
191         'gfc_build_class_symbol'.
192         * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
193         Ditto.
194         * symbol.c (gfc_set_default_type): Ditto.
196 2014-02-19  Janus Weil  <janus@gcc.gnu.org>
198         PR fortran/60232
199         * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
200         functions, which are used as procedure pointer target.
202 2014-02-18  Tobias Burnus  <burnus@net-b.de>
204         PR fortran/49397
205         * expr.c (gfc_check_pointer_assign): Add check for
206         F2008Cor2, C729.
207         * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
208         decl in a corner case.
210 2014-02-18  Janus Weil  <janus@gcc.gnu.org>
212         PR fortran/60231
213         * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
214         arguments to prevent ICE.
216 2014-02-17  Janus Weil  <janus@gcc.gnu.org>
218         PR fortran/55907
219         * resolve.c (build_default_init_expr): Don't initialize character
220         variable if -fno-automatic is given.
222 2014-02-15  Mikael Morin  <mikael@gcc.gnu.org>
224         PR fortran/59599
225         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
226         number of arguments.
228 2014-02-11  Jakub Jelinek  <jakub@redhat.com>
230         PR fortran/52370
231         * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
232         on decl if sym->attr.optional.
234 2014-02-09  Paul Thomas  <pault@gcc.gnu.org>
236         PR fortran/57522
237         * resolve.c (resolve_assoc_var): Set the subref_array_pointer
238         attribute for the 'associate-name' if necessary.
239         * trans-stmt.c (trans_associate_var): If the 'associate-name'
240         is a subref_array_pointer, assign the element size of the
241         associate variable to 'span'.
243 2014-02-09  Paul Thomas  <pault@gcc.gnu.org>
245         PR fortran/59026
246         * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
247         actual argument to a formal argument with the value attribute
248         in an elemental procedure.
250 2014-02-08  Janus Weil  <janus@gcc.gnu.org>
251             Mikael Morin <mikael.morin@gcc.gnu.org>
253         PR fortran/58470
254         * class.c (generate_finalization_wrapper): Assert that proc_tree has
255         been set in gfc_resolve_finalizers.
256         * resolve.c (resolve_fl_derived0): Remove unnecessary call to
257         gfc_is_finalizable.
259 2014-02-07  Benno Schulenberg  <bensberg@justemail.net>
261         PR translation/52289
262         * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
263         in an error message.
265 2014-02-02  Mikael Morin  <mikael@gcc.gnu.org>
267         PR fortran/57033
268         * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
269         dereference.
271 2014-02-01  Paul Thomas  <pault@gcc.gnu.org>
273         PR fortran/59906
274         * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
275         SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
276         pointer to the string is stored.
277         * trans-expr.c (gfc_conv_expr_reference): Likewise, use
278         gfc_conv_string_parameter to ensure that a pointer to is passed
279         to the elemental function.
281 2014-01-28  Paul Thomas  <pault@gcc.gnu.org>
283         PR fortran/59414
284         * trans-stmt.c (gfc_trans_allocate): Before the pointer
285         assignment to transfer the source _vptr to a class allocate
286         expression, the final class reference should be exposed. The
287         tail that includes the _data and array references is stored.
288         This reduced expression is transferred to 'lhs' and the _vptr
289         added. Then the tail is restored to the allocate expression.
291 2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>
293         PR fortran/58007
294         * module.c (read_module): Assert for component name correctness.
296 2014-01-18  Mikael Morin  <mikael@gcc.gnu.org>
298         PR fortran/58007
299         * module.c (MOD_VERSION): Bump.
300         (fp2, find_pointer2): Remove.
301         (mio_component_ref): Don't forcedfully set the containing derived type
302         symbol for loading.  Remove unused argument.
303         (mio_ref): Update caller
304         (mio_symbol): Dump component list earlier.
305         (skip_list): New argument nest_level.  Initialize level with the new
306         argument.
307         (read_module): Add forced pointer components association for derived
308         type symbols.
310 2014-01-12  Janus Weil  <janus@gcc.gnu.org>
312         PR fortran/58026
313         * decl.c (gfc_match_data_decl): Improve error recovery.
315 2014-01-09  Tobias Burnus  <burnus@net-b.de>
317         * cpp.c (gfc_cpp_handle_option): Add missing break.
318         * trans-io.c (transfer_expr): Silence unused value warning.
320 2014-01-08  Janus Weil  <janus@gcc.gnu.org>
322         PR fortran/58182
323         * resolve.c (gfc_verify_binding_labels): Modify order of checks.
325 2014-01-06  Janus Weil  <janus@gcc.gnu.org>
327         PR fortran/59589
328         * class.c (comp_is_finalizable): New function to dermine if a given
329         component is finalizable.
330         (finalize_component, generate_finalization_wrapper): Use it.
332 2014-01-06  Janus Weil  <janus@gcc.gnu.org>
334         PR fortran/59023
335         PR fortran/59662
336         * resolve.c (resolve_global_procedure): Don't apply to c-binding
337         procedures.
338         (gfc_verify_binding_labels): Remove duplicate line.
340 2014-01-04  Janus Weil  <janus@gcc.gnu.org>
342         PR fortran/59547
343         * class.c (add_proc_comp): Copy pure attribute.
345 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
347         Update copyright years
349 2014-01-02  Tobias Burnus  <burnus@net-b.de>
351         * gfortranspec.c (lang_specific_driver): Update copyright notice
352         dates.
353         * gfc-internals.texi: Bump @copying's copyright year.
354         * gfortran.texi: Ditto.
355         * intrinsic.texi: Ditto.
356         * invoke.texi: Ditto.
358 2014-01-02  Janus Weil  <janus@gcc.gnu.org>
360         PR fortran/59654
361         * resolve.c (resolve_typebound_procedures): No need to create the vtab
362         here.
364 Copyright (C) 2014 Free Software Foundation, Inc.
366 Copying and distribution of this file, with or without modification,
367 are permitted in any medium without royalty provided the copyright
368 notice and this notice are preserved.