1 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
2 Tobias Burnus <burnus@net-b.de>
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>
11 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
14 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
17 * frontend-passes.c (cfe_code): Do not walk subtrees
20 2014-03-27 Tobias Burnus <burnus@net-b.de>
23 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
26 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
29 * fortran.texi: Document Volatile COMMON as not supported.
31 2014-03-22 Jakub Jelinek <jakub@redhat.com>
34 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
37 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
40 * gfortran.texi: Add description of namelist DELIM= behavior.
42 2014-03-19 Tobias Burnus <burnus@net-b.>
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>
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>
73 * decl.c (match_attr_spec): Revert r208590.
75 2014-03-18 Jakub Jelinek <jakub@redhat.com>
78 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
81 2014-03-18 Tobias Burnus <burnus@net-b.de>
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
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>
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>
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>
113 * f95-lang.c (gfc_init): Return false when only
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>
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
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>
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>
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>
175 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
178 2014-02-21 Janus Weil <janus@gcc.gnu.org>
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):
190 * symbol.c (gfc_set_default_type): Ditto.
192 2014-02-19 Janus Weil <janus@gcc.gnu.org>
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>
201 * expr.c (gfc_check_pointer_assign): Add check for
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>
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>
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>
221 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
224 2014-02-11 Jakub Jelinek <jakub@redhat.com>
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>
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>
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>
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
255 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
258 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
261 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
264 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
267 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
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>
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>
290 * module.c (read_module): Assert for component name correctness.
292 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
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
303 (read_module): Add forced pointer components association for derived
306 2014-01-12 Janus Weil <janus@gcc.gnu.org>
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>
319 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
321 2014-01-06 Janus Weil <janus@gcc.gnu.org>
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>
332 * resolve.c (resolve_global_procedure): Don't apply to c-binding
334 (gfc_verify_binding_labels): Remove duplicate line.
336 2014-01-04 Janus Weil <janus@gcc.gnu.org>
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
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>
357 * resolve.c (resolve_typebound_procedures): No need to create the vtab
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.