Merge branches/gcc-4_9-branch rev 209611 (FSF GCC 4.9.0 release).
[official-gcc.git] / gcc-4_9-branch / gcc / fortran / ChangeLog
blobeb33cc92887e60936d01f26870f26848e8cdd9dc
1 2014-04-22  Release Manager
3         * GCC 4.9.0 released.
5 2014-04-13  Paul Thomas  <pault@gcc.gnu.org>
7         PR fortran/58085
8         PR fortran/60717
9         * trans.h: Add 'use_offset' bitfield to gfc_se.
10         * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
11         as a trigger to unconditionally recalculate the offset for
12         array slices and constant arrays.
13         trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
14         trans-stmt.c (trans_associate_var): Ditto.
15         (gfc_conv_procedure_call): Ditto.
17 2014-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
19         * intrinsic.texi (RANDOM_SEED): Improve example.
21 2014-04-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
23         * class.c (gfc_build_class_symbol): Append "_t" to target class
24         names to make the generated type names unique.
26 2014-04-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
28         PR fortran/60191
29         * trans-types.c (gfc_get_function_type): In case of recursion
30         build a variadic function type with empty argument list instead of a
31         stdarg-like function type with incomplete argument list.
33 2014-04-04  Tobias Burnus  <burnus@net-b.de>
35         * check.c (gfc_check_cmplx): Fix typo.
37 2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
38             Tobias Burnus  <burnus@net-b.de>
40         PR fortran/60576
41         * trans-expr.c (gfc_conv_derived_to_class): Avoid
42         generation of out-of-bounds range expr.
44 2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
46         PR fortran/60677
47         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
48         list buffer.
50 2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
52         PR fortran/60522
53         * frontend-passes.c (cfe_code):  Do not walk subtrees
54         for WHERE.
56 2014-03-27  Tobias Burnus  <burnus@net-b.de>
58         PR fortran/58880
59         * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
60         of nonpointers.
62 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
64         PR fortran/34928
65         * fortran.texi: Document Volatile COMMON as not supported.
67 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
69         PR debug/60603
70         * cpp.c (gfc_cpp_init): Restore cb_change_file call to
71         <built-in>.
73 2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
75         PR fortran/60148
76         * gfortran.texi: Add description of namelist DELIM= behavior.
78 2014-03-19  Tobias Burnus  <burnus@net-b.>
80         PR fortran/60543
81         * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
82         * resolve.c (resolve_ordinary_assign): Ditto.
84 2014-03-19  Tobias Burnus  <burnus@net-b.de>
86         PR fortran/60543
87         PR fortran/60283
88         * gfortran.h (gfc_unset_implicit_pure): New prototype.
89         * resolve.c (gfc_unset_implicit_pure): New.
90         (resolve_structure_cons, resolve_function,
91         pure_subroutine): Use it.
92         * decl.c (match_old_style_init, gfc_match_data,
93         match_pointer_init, variable_decl): Ditto.
94         * expr.c (gfc_check_pointer_assign): Ditto.
95         * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
96         * io.c (match_vtag, gfc_match_open, gfc_match_close,
97         match_filepos, gfc_match_inquire, gfc_match_print,
98         gfc_match_wait): Ditto.
99         * match.c (gfc_match_critical, gfc_match_stopcode,
100         lock_unlock_statement, sync_statement, gfc_match_allocate,
101         gfc_match_deallocate): Ditto.
102         * parse.c (decode_omp_directive): Ditto.
103         * symbol.c (gfc_add_save): Ditto.
105 2014-03-18  Janus Weil  <janus@gcc.gnu.org>
107         PR fortran/55207
108         PR fortran/60549
109         * decl.c (match_attr_spec): Revert r208590.
111 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
113         PR ipa/58721
114         * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
115         if !optimize.
117 2014-03-18  Tobias Burnus  <burnus@net-b.de>
119         PR ipa/58721
120         * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
121         (gfc_trans_io_runtime_check): Remove.
122         * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
123         as argument, add predictor to block.
124         (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
125         gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
126         * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
127         (gfc_trans_runtime_check, gfc_allocate_using_malloc,
128         gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
129         branch predictor.
130         * trans-expr.c (gfc_conv_procedure_call): Ditto.
131         * trans-stmt.c (gfc_trans_allocate): Ditto.
132         * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
134 2014-03-15  Janus Weil  <janus@gcc.gnu.org>
136         PR fortran/55207
137         * decl.c (match_attr_spec): Variables in the main program implicitly
138         get the SAVE attribute in Fortran 2008.
140 2014-03-14  Mikael Morin  <mikael@gcc.gnu.org>
142         PR fortran/60392
143         * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
144         if it has transposed dimensions.
146 2014-03-08  Tobias Burnus  <burnus@net-b.de>
148         PR fortran/60447
149         * f95-lang.c (gfc_init): Return false when only
150         preprocessing.
151         * options.c (gfc_post_options): Ditto.
153 2014-03-08  Tobias Burnus  <burnus@net-b.de>
155         * gfortran.texi (Fortran 2003 Status): Mention finalization,
156         deferred-length character support and input rounding.
157         (Fortran 2008 Status): Mention that at termination
158         signalling exceptions are shown.
160 2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
161             Janus Weil  <janus@gcc.gnu.org>
163         PR fortran/51976
164         * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
165         * primary.c (build_actual_constructor): It is not an error if
166         a missing component has the deferred_parameter attribute;
167         equally, if one is given a value, it is an error.
168         * resolve.c (resolve_fl_derived0): Remove error for deferred
169         character length components.  Add the hidden string length
170         field to the structure. Give it the deferred_parameter
171         attribute.
172         * trans-array.c (duplicate_allocatable): Add a strlen field
173         which is used as the element size if it is non-null.
174         (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
175         NULL to the new argument in duplicate_allocatable.
176         (structure_alloc_comps): Set the hidden string length as
177         appropriate. Use it in calls to duplicate_allocatable.
178         (gfc_alloc_allocatable_for_assignment): When a deferred length
179         backend declaration is variable, use that; otherwise use the
180         string length from the expression evaluation.
181         * trans-expr.c (gfc_conv_component_ref): If this is a deferred
182         character length component, the string length should have the
183         value of the hidden string length field.
184         (gfc_trans_subcomponent_assign): Set the hidden string length
185         field for deferred character length components.  Allocate the
186         necessary memory for the string.
187         (alloc_scalar_allocatable_for_assignment): Same change as in
188         gfc_alloc_allocatable_for_assignment above.
189         * trans-stmt.c (gfc_trans_allocate): Likewise.
190         * trans-intrinsic (size_of_string_in_bytes): Make non-static.
191         * trans-types.c (gfc_get_derived_type): Set the tree type for
192         a deferred character length component.
193         * trans.c (gfc_deferred_strlen): New function.
194         * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
196 2014-03-01  Mikael Morin  <mikael@gcc.gnu.org>
198         PR fortran/60341
199         * frontend-passes.c (optimize_comparison): Guard two union accesses
200         with the corresponding tag checks.
202 2014-02-28  Janus Weil  <janus@gcc.gnu.org>
204         PR fortran/60359
205         * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
206         procedure for characters.
208 2014-02-21  Janus Weil  <janus@gcc.gnu.org>
210         PR fortran/60302
211         * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
212         is successful.
214 2014-02-21  Janus Weil  <janus@gcc.gnu.org>
216         PR fortran/60234
217         * gfortran.h (gfc_build_class_symbol): Removed argument.
218         * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
219         (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
220         delayed now, except for unlimited polymorphics.
221         (comp_is_finalizable): Procedure pointer components are not finalizable.
222         * decl. (build_sym, build_struct, attr_decl1): Removed argument of
223         'gfc_build_class_symbol'.
224         * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
225         Ditto.
226         * symbol.c (gfc_set_default_type): Ditto.
228 2014-02-19  Janus Weil  <janus@gcc.gnu.org>
230         PR fortran/60232
231         * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
232         functions, which are used as procedure pointer target.
234 2014-02-18  Tobias Burnus  <burnus@net-b.de>
236         PR fortran/49397
237         * expr.c (gfc_check_pointer_assign): Add check for
238         F2008Cor2, C729.
239         * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
240         decl in a corner case.
242 2014-02-18  Janus Weil  <janus@gcc.gnu.org>
244         PR fortran/60231
245         * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
246         arguments to prevent ICE.
248 2014-02-17  Janus Weil  <janus@gcc.gnu.org>
250         PR fortran/55907
251         * resolve.c (build_default_init_expr): Don't initialize character
252         variable if -fno-automatic is given.
254 2014-02-15  Mikael Morin  <mikael@gcc.gnu.org>
256         PR fortran/59599
257         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
258         number of arguments.
260 2014-02-11  Jakub Jelinek  <jakub@redhat.com>
262         PR fortran/52370
263         * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
264         on decl if sym->attr.optional.
266 2014-02-09  Paul Thomas  <pault@gcc.gnu.org>
268         PR fortran/57522
269         * resolve.c (resolve_assoc_var): Set the subref_array_pointer
270         attribute for the 'associate-name' if necessary.
271         * trans-stmt.c (trans_associate_var): If the 'associate-name'
272         is a subref_array_pointer, assign the element size of the
273         associate variable to 'span'.
275 2014-02-09  Paul Thomas  <pault@gcc.gnu.org>
277         PR fortran/59026
278         * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
279         actual argument to a formal argument with the value attribute
280         in an elemental procedure.
282 2014-02-08  Janus Weil  <janus@gcc.gnu.org>
283             Mikael Morin <mikael.morin@gcc.gnu.org>
285         PR fortran/58470
286         * class.c (generate_finalization_wrapper): Assert that proc_tree has
287         been set in gfc_resolve_finalizers.
288         * resolve.c (resolve_fl_derived0): Remove unnecessary call to
289         gfc_is_finalizable.
291 2014-02-07  Benno Schulenberg  <bensberg@justemail.net>
293         PR translation/52289
294         * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
295         in an error message.
297 2014-02-02  Mikael Morin  <mikael@gcc.gnu.org>
299         PR fortran/57033
300         * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
301         dereference.
303 2014-02-01  Paul Thomas  <pault@gcc.gnu.org>
305         PR fortran/59906
306         * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
307         SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
308         pointer to the string is stored.
309         * trans-expr.c (gfc_conv_expr_reference): Likewise, use
310         gfc_conv_string_parameter to ensure that a pointer to is passed
311         to the elemental function.
313 2014-01-28  Paul Thomas  <pault@gcc.gnu.org>
315         PR fortran/59414
316         * trans-stmt.c (gfc_trans_allocate): Before the pointer
317         assignment to transfer the source _vptr to a class allocate
318         expression, the final class reference should be exposed. The
319         tail that includes the _data and array references is stored.
320         This reduced expression is transferred to 'lhs' and the _vptr
321         added. Then the tail is restored to the allocate expression.
323 2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>
325         PR fortran/58007
326         * module.c (read_module): Assert for component name correctness.
328 2014-01-18  Mikael Morin  <mikael@gcc.gnu.org>
330         PR fortran/58007
331         * module.c (MOD_VERSION): Bump.
332         (fp2, find_pointer2): Remove.
333         (mio_component_ref): Don't forcedfully set the containing derived type
334         symbol for loading.  Remove unused argument.
335         (mio_ref): Update caller
336         (mio_symbol): Dump component list earlier.
337         (skip_list): New argument nest_level.  Initialize level with the new
338         argument.
339         (read_module): Add forced pointer components association for derived
340         type symbols.
342 2014-01-12  Janus Weil  <janus@gcc.gnu.org>
344         PR fortran/58026
345         * decl.c (gfc_match_data_decl): Improve error recovery.
347 2014-01-09  Tobias Burnus  <burnus@net-b.de>
349         * cpp.c (gfc_cpp_handle_option): Add missing break.
350         * trans-io.c (transfer_expr): Silence unused value warning.
352 2014-01-08  Janus Weil  <janus@gcc.gnu.org>
354         PR fortran/58182
355         * resolve.c (gfc_verify_binding_labels): Modify order of checks.
357 2014-01-06  Janus Weil  <janus@gcc.gnu.org>
359         PR fortran/59589
360         * class.c (comp_is_finalizable): New function to dermine if a given
361         component is finalizable.
362         (finalize_component, generate_finalization_wrapper): Use it.
364 2014-01-06  Janus Weil  <janus@gcc.gnu.org>
366         PR fortran/59023
367         PR fortran/59662
368         * resolve.c (resolve_global_procedure): Don't apply to c-binding
369         procedures.
370         (gfc_verify_binding_labels): Remove duplicate line.
372 2014-01-04  Janus Weil  <janus@gcc.gnu.org>
374         PR fortran/59547
375         * class.c (add_proc_comp): Copy pure attribute.
377 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
379         Update copyright years
381 2014-01-02  Tobias Burnus  <burnus@net-b.de>
383         * gfortranspec.c (lang_specific_driver): Update copyright notice
384         dates.
385         * gfc-internals.texi: Bump @copying's copyright year.
386         * gfortran.texi: Ditto.
387         * intrinsic.texi: Ditto.
388         * invoke.texi: Ditto.
390 2014-01-02  Janus Weil  <janus@gcc.gnu.org>
392         PR fortran/59654
393         * resolve.c (resolve_typebound_procedures): No need to create the vtab
394         here.
396 Copyright (C) 2014 Free Software Foundation, Inc.
398 Copying and distribution of this file, with or without modification,
399 are permitted in any medium without royalty provided the copyright
400 notice and this notice are preserved.