1 2012-02-21 Tobias Burnus <burnus@net-b.de>
4 * gfortran.texi (Part II: Language Reference, Extensions,
5 Non-Fortran Main Program): Sort @menu to match actual section order.
6 * intrinsic.texi (Intrinsic Procedures): Ditto.
7 (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
9 2013-02-15 Tobias Burnus <burnus@net-b.de>
10 Mikael Morin <mikael@gcc.gnu.org>
13 * simplify.c (gfc_simplify_matmul): Fix result shape
16 2013-02-15 Tobias Burnus <burnus@net-b.de>
19 * resolve.c (apply_default_init_local): Don't create an
20 initializer for a result variable.
22 2013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
25 * gfortran.h (gfc_add_include_path): Add boolean argument
27 * scanner.c (gfc_add_include_path): Pass along warn argument
29 * options.c (gfc_post_options): Add true warn argument to
31 (gfc_handle_module_path_options): Likewise.
32 (gfc_handle_option): Also gfc_add_include_path for intrinsic
33 modules, without warning.
35 2013-02-14 Paul Thomas <pault@gcc.gnu.org>
36 Tobias Burnus <burnus@net-b.de>
39 * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
40 results for functions without extra result variable.
43 2013-01-30 Tobias Burnus <burnus@net-b.de>
46 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
47 results for functions without extra result variable.
49 2013-02-12 Janus Weil <janus@gcc.gnu.org>
52 * resolve.c (resolve_call): Do not check deferred procedures for
55 2013-02-09 Paul Thomas <pault@gcc.gnu.org>
58 * check.c (array_check): It is an error if a procedure is
61 2013-02-08 Mikael Morin <mikael@gcc.gnu.org>
64 * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
65 to error_mark_node on entry. Detect recursive types. Build a variadic
66 procedure type if the type is recursive. Restore the initial
69 2013-02-07 Tobias Burnus <burnus@net-b.de>
72 * gfortran.texi (Standards): Mention TS29113.
73 (Varying Length Character): Mention deferred-length
75 (Fortran 2003 Status): Add unlimited polymorphic.
76 (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
77 (C Interop): Update the section about TS29113.
79 2013-02-06 Paul Thomas <pault@gcc.gnu.org>
82 * trans-array.c (trans_array_constructor): Remove condition
83 'dynamic' = true if the loop ubound is a VAR_DECL.
85 2013-02-04 Paul Thomas <pault@gcc.gnu.org>
89 * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
90 the lhs descriptor before it is modified for reallocation. Use
91 it to deallocate allocatable components in the reallocation
92 block. Nullify allocatable components for newly (re)allocated
95 2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
98 * resolve.c (resolve_typebound_procedures): Recurse through
101 2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
105 * gfortran.h (struct gfc_symbol): New field 'resolved'.
106 * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
107 (resolve_symbol): Skip duplicate calls. Don't check the current
110 2013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
114 * decl.c (gfc_match_end): Remove half-ready namespace
115 from parent if the end of a block is missing.
116 * parse.c (parse_module): Do not put namespace into
119 2013-01-30 Tobias Burnus <burnus@net-b.de>
122 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
123 results for functions without extra result variable.
125 2013-01-29 Janus Weil <janus@gcc.gnu.org>
126 Mikael Morin <mikael@gcc.gnu.org>
129 * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
130 (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
131 gfc_expr_replace_comp): Delete.
132 (gfc_sym_get_dummy_args): New prototype.
133 * dependency.c (gfc_check_fncall_dependency): Use
134 'gfc_sym_get_dummy_args'.
135 * expr.c (gfc_is_constant_expr): Ditto.
136 (replace_symbol,gfc_expr_replace_symbols,replace_comp,
137 gfc_expr_replace_comp): Deleted.
138 * frontend-passes.c (doloop_code,do_function): Use
139 'gfc_sym_get_dummy_args'.
140 * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
141 gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
142 gfc_check_typebound_override): Ditto.
143 * module.c (MOD_VERSION): Bump module version.
144 (mio_component): Do not read/write 'formal' and 'formal_ns'.
145 * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
146 copy formal args, but just keep a pointer to the interface.
147 (resolve_function,resolve_call,resolve_typebound_generic_call,
148 resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
149 resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
150 resolve_typebound_procedure,check_uop_procedure): Use
151 'gfc_sym_get_dummy_args'.
152 * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
153 (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
154 (gfc_sym_get_dummy_args): New function.
155 * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
156 Use 'gfc_sym_get_dummy_args'.
157 * trans-decl.c (build_function_decl,create_function_arglist,
158 build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
159 add_argument_checking): Ditto.
160 * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
161 gfc_conv_statement_function): Ditto.
162 * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
163 * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
165 2013-01-28 Tobias Burnus <burnus@net-b.de>
166 Mikael Morin <mikael@gcc.gnu.org>
169 * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
171 (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
172 * decl.c (gfc_match_data_decl): Ditto.
173 (variable_decl): Remove undeclared type error.
174 (gfc_match_import): Use renamed instead of original name.
176 2013-01-27 Paul Thomas <pault@gcc.gnu.org>
180 * gfortran.h : Add associate_var to symbol_attr.
181 * resolve.c (resolve_assoc_var): Set associate_var attribute.
182 If the target class_ok is set, set it for the associate
184 * check.c (allocatable_check): Associate variables should not
185 have the allocatable attribute even if their symbols do.
186 * class.c (gfc_build_class_symbol): Symbols with associate_var
187 set will always have a good class container.
189 2013-01-23 Janus Weil <janus@gcc.gnu.org>
192 * resolve.c (resolve_select): Add argument 'select_type', reject
193 non-scalar expressions.
194 (resolve_select_type,resolve_code): Pass new argument to
197 2013-01-23 Jakub Jelinek <jakub@redhat.com>
200 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
201 and DECL_IGNORED_P on select_type_temporary and don't set
204 2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
207 * scanner.c (add_path_to_list): Copy path to temporary and strip
208 trailing directory separators before calling stat().
210 2013-01-17 Richard Biener <rguenther@suse.de>
212 * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
213 dependent on sign of step, avoids repeated evaluation of
214 step sign test. Avoid undefined overflow issues by using unsigned
217 2013-01-16 Janus Weil <janus@gcc.gnu.org>
220 * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
223 2013-01-16 Jakub Jelinek <jakub@redhat.com>
224 Tobias Burnus <burnus@net-b.de>
227 * lang.opt (fintrinsic-modules-path): Don't accept Joined.
228 (fintrinsic-modules-path=): New.
229 * options.c (gfc_handle_option, gfc_get_option_string,
230 gfc_get_option_string): Handle the latter.
232 2013-01-16 Jakub Jelinek <jakub@redhat.com>
235 * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
236 and use value of countm1 before the decrement in the condition.
238 2013-01-15 Paul Thomas <pault@gcc.gnu.org>
241 * expr.c (gfc_check_pointer_assign): Check for presence of
242 's2' before using it.
244 2013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org>
247 * frontend-passes.c (optimize_reduction): New function,
249 (callback_reduction): Likewise.
250 (gfc_run_passes): Also run optimize_reduction.
251 (copy_walk_reduction_arg): New function.
252 (dummy_code_callback): New function.
254 2013-01-13 Jakub Jelinek <jakub@redhat.com>
257 * trans-expr.c (gfc_conv_structure): Call
258 unshare_expr_without_location on the ctor elements.
260 2013-01-13 Paul Thomas <pault@gcc.gnu.org>
263 * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
264 and rvalue interfaces are presented to gfc_compare_interfaces.
265 Simplify references to interface names by using the symbols
266 themselves. Call gfc_compare_interfaces with s1 and s2 inter-
267 changed to overcome the asymmetry of this function. Do not
268 repeat the check for the presence of s1 and s2.
270 2013-01-12 Janus Weil <janus@gcc.gnu.org>
273 * trans-array.c (gfc_conv_array_parameter): No packing was done for
274 full arrays of derived type.
276 2013-01-08 Paul Thomas <pault@gcc.gnu.org>
279 * class.c (get_unique_type_string): Change $tar to STAR and
280 replace sprintf by strcpy where there is no formatting.
281 * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
283 2013-01-09 Mikael Morin <mikael@gcc.gnu.org>
286 * module.c (check_for_ambiguous): Get the current program unit using
289 2013-01-09 Tobias Burnus <burnus@net-b.de>
292 * resolve.c (resolve_symbol): Reject non-C_Bool logicals
293 in BIND(C) procedures with -std=f*.
295 2013-01-08 Paul Thomas <pault@gcc.gnu.org>
298 * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
299 character function arguments to elemental procedures in
302 2013-01-07 Tobias Burnus <burnus@net-b.de>
305 * gfortran.h (gfc_check_assign_symbol): Update prototype.
306 * decl.c (add_init_expr_to_sym, do_parm): Update call.
307 * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
308 improve error location; support components.
309 (gfc_check_pointer_assign): Handle component assignments.
310 * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
311 (resolve_values): Update call.
312 (resolve_structure_cons): Avoid double diagnostic.
314 2013-01-07 Tobias Burnus <burnus@net-b.de>
315 Thomas Koenig <tkoenig@gcc.gnu.org>
318 * expr.c (gfc_build_intrinsic_call): Avoid clashes
319 with user's procedures.
320 * gfortran.h (gfc_build_intrinsic_call): Update prototype.
321 * simplify.c (gfc_simplify_size): Update call.
322 * class.c (finalization_scalarizer, finalization_get_offset,
323 finalizer_insert_packed_call, generate_finalization_wrapper):
324 Clean up by using gfc_build_intrinsic_call.
326 2013-01-07 Tobias Burnus <burnus@net-b.de>
329 * resolve.c (resolve_select_type): Reject intrinsic types for
330 a non-unlimited-polymorphic selector.
332 2013-01-06 Paul Thomas <pault@gcc.gnu.org>
337 * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
338 to see if it is GFC_CLASS_TYPE_P.
339 * trans-expr.c (gfc_get_vptr_from_expr): The same.
340 (gfc_conv_class_to_class): If the types are not the same,
341 cast parmese->expr to the type of ctree.
342 * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
343 CLASS components must be set.
345 2013-01-06 Mikael Morin <mikael@gcc.gnu.org>
350 * module.c (read_module): Don't reuse local symtree if the associated
351 symbol isn't exactly the one wanted. Don't reuse local symtree if it is
353 * resolve.c (resolve_call): Use symtree's name instead of symbol's to
356 2013-01-05 Steven G. Kargl <kargl@gcc.gnu.org>
357 Mikael Morin <mikael@gcc.gnu.org>
360 * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
362 * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
364 2013-01-05 Tobias Burnus <burnus@net-b.de>
366 * class.c (finalize_component): Used passed offset expr.
367 (finalization_get_offset): New static function.
368 (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
369 to handle noncontiguous arrays.
371 2013-01-04 Tobias Burnus <burnus@net-b.de>
373 * trans.c (gfc_build_final_call): New function.
374 * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
375 New function prototypes.
376 * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
377 conv_scalar_to_descriptor, removed static attribute.
378 (gfc_conv_procedure_call): Honor renaming.
380 2013-01-04 Tobias Burnus <burnus@net-b.de>
382 * intrinsic.c (add_functions): New internal intrinsic
383 function GFC_PREFIX ("stride").
384 * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
385 * intrinsic.h (gfc_resolve_stride): New prototypes.
386 * iresolve.c (gfc_resolve_stride): New function.
387 * trans-intrinsic.c (conv_intrinsic_stride): New static
389 (gfc_conv_intrinsic_function): Use it.
391 2013-01-04 Tobias Burnus <burnus@net-b.de>
393 * class.c (gfc_find_intrinsic_vtab): Add _final
395 * decl.c (gfc_match_null): Remove superfluous
396 variadic argument to gfc_match.
398 2013-01-04 Paul Thomas <pault@gcc.gnu.org>
401 * match.c (copy_ts_from_selector_to_associate): Remove call to
402 gfc_resolve_expr and replace it with explicit setting of the
403 array reference type.
404 * resolve.c (resolve_select_type): It is an error if the
405 selector is coindexed.
407 2013-01-04 Tobias Burnus <burnus@net-b.de>
410 * decl.c (gfc_match_null): Parse and reject MOLD.
412 2013-01-04 Tobias Burnus <burnus@net-b.de>
416 * class.c (gfc_class_null_initializer): Fix finding the vtab.
417 (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
419 2013-01-03 Janus Weil <janus@gcc.gnu.org>
422 * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
423 of rvalue. Correct hyphenation in error message.
425 2013-01-03 Jakub Jelinek <jakub@redhat.com>
427 * gfortranspec.c (lang_specific_driver): Update copyright notice
430 Copyright (C) 2013 Free Software Foundation, Inc.
432 Copying and distribution of this file, with or without modification,
433 are permitted in any medium without royalty provided the copyright
434 notice and this notice are preserved.