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