2013-03-25 Tobias Burnus <burnus@net-b.de>
[official-gcc.git] / gcc / fortran / ChangeLog
bloba14423cc94c6ca110fa2a3d1d30fcd3a8352722b
1 2013-03-25  Tobias Burnus  <burnus@net-b.de>
3         PR fortran/38536
4         PR fortran/38813
5         PR fortran/38894
6         PR fortran/39288
7         PR fortran/40963
8         PR fortran/45824
9         PR fortran/47023
10         PR fortran/47034
11         PR fortran/49023
12         PR fortran/50269
13         PR fortran/50612
14         PR fortran/52426
15         PR fortran/54263
16         PR fortran/55343
17         PR fortran/55444
18         PR fortran/55574
19         PR fortran/56079
20         PR fortran/56378
21         * check.c (gfc_var_strlen): Properly handle 0-sized string.
22         (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
23         (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
24         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
25         functions.
26         * expr.c (check_inquiry): Add c_sizeof, compiler_version and
27         compiler_options.
28         (gfc_check_pointer_assign): Refine function result check.
29         gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
30         GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
31         GFC_ISYM_C_LOC.
32         (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
33         NAMED_SUBROUTINE.
34         (generate_isocbinding_symbol): Update prototype.
35         (get_iso_c_sym): Remove.
36         (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
37         * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
38         (gfc_intrinsic_sub_interface): Use it.
39         (add_functions, add_subroutines): Add missing C-binding intrinsics.
40         (gfc_intrinsic_func_interface): Add special case for c_loc.
41         gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
42         (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
43         * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
44         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
45         gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
46         * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
47         functions.
48         * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
49         NAMED_FUNCTION.
50         * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
51         * module.c (create_intrinsic_function): Support subroutines and
52         derived-type results.
53         (use_iso_fortran_env_module): Update calls.
54         (import_iso_c_binding_module): Ditto; update calls to
55         generate_isocbinding_symbol.
56         * resolve.c (find_arglists): Skip for intrinsic symbols.
57         (gfc_resolve_intrinsic): Find intrinsic subs via id.
58         (is_scalar_expr_ptr, gfc_iso_c_func_interface,
59         set_name_and_label, gfc_iso_c_sub_interface): Remove.
60         (resolve_function, resolve_specific_s0): Remove calls to those.
61         (resolve_structure_cons): Fix handling.
62         * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
63         generation.
64         (gen_cptr_param, gen_fptr_param, gen_shape_param,
65         build_formal_args, get_iso_c_sym): Remove.
66         (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
67         (generate_isocbinding_symbol): Support hidden symbols and
68         using c_ptr/c_funptr symtrees for nullptr defs.
69         * target-memory.c (gfc_target_encode_expr): Fix handling
70         of c_ptr/c_funptr.
71         * trans-expr.c (conv_isocbinding_procedure): Remove.
72         (gfc_conv_procedure_call): Remove call to it.
73         (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
74         of c_ptr/c_funptr.
75         * trans-intrinsic.c (conv_isocbinding_function,
76         conv_isocbinding_subroutine): New.
77         (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
78         Call them.
79         * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
80         * trans-types.c (gfc_typenode_for_spec,
81         gfc_get_derived_type): Ditto.
82         (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
84 2013-03-18  Tobias Burnus  <burnus@net-b.de>
86         * gfortran.h (gfc_option_t): Remove flag_whole_file.
87         * invoke.texi (-fno-whole-file): Remove.
88         * lang.opt (fwhole-file): Change to Ignore.
89         * options.c (gfc_init_options, gfc_post_options,
90         gfc_handle_option): Remove !flag_whole_file handling
91         * parse.c (resolve_all_program_units, translate_all_program_units,
92         gfc_parse_file): Ditto.
93         * resolve.c (resolve_global_procedure): Ditto.
94         * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
95         gfc_create_module_variable): Ditto.
96         * trans-types.c (gfc_get_derived_type): Ditto.
98 2013-03-15  Tobias Burnus  <burnus@net-b.de>
100         PR fortran/56615
101         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
102         if they are not simply contiguous.
104 2013-03-11  Tobias Burnus  <burnus@net-b.de>
106         * gfortran.texi (STRUCTURE and RECORD): State more clearly how
107         to convert them into derived types.
109 2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
111         PR fortran/56575
112         * expr.c (gfc_default_initializer): Check that a class declared
113         type has any components.
114         * resolve.c (resolve_fl_derived0): On failing the test for C437
115         set the type to BT_UNKNOWN to prevent repeat error messages.
117 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
119         PR fortran/56477
120         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
122 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
124         PR fortran/54730
125         * array.c (gfc_match_array_constructor): Set a checkpoint before
126         matching a typespec.  Drop it on success, restore it otherwise.
128 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
130         PR fortran/54730
131         * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
132         (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
133         gfc_restore_last_undo_checkpoint): New prototypes.
134         * symbol.c (default_undo_chgset_var): Update initialization.
135         (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
136         free_undo_change_set_data, pop_undo_change_set,
137         gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
138         New functions.
139         (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
140         field's previous value is not overwritten.  Clear gfc_new field.
141         (restore_old_symbol): Restore previous old_symbol field.
142         (gfc_restore_last_undo_checkpoint): New function, using body renamed
143         from gfc_undo_symbols.  Restore the previous change set as current one.
144         (gfc_undo_symbols): New body.
145         (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
146         Call enforce_single_undo_checkpoint.
147         (gfc_symbol_done_2): Ditto.  Free change set data.
149 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
151         * symbol.c (restore_old_symbol): Fix thinko.
153 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
155         * symbol.c (gfc_undo_symbols): Move code...
156         (restore_old_symbol): ... here as a new function.
158 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
160         * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
161         * gfortran.h: Include vec.h.
162         (gfc_undo_change_set): New struct.
163         * symbol.c (tentative_tbp): Remove struct.
164         (changed_syms, tentative_tbp_list): Remove variables.
165         (default_undo_chgset_var, latest_undo_chgset): New variables.
166         (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
167         gfc_commit_symbols, gfc_commit_symbol,
168         gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
169         Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
171 2013-03-01  Tobias Burnus  <burnus@net-b.de>
173         PR fortran/56491
174         * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
175         * symbol.c (free_components): Free proc-pointer components.
177 2013-03-01  Tobias Burnus  <burnus@net-b.de>
179         * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
180         * trans-io.c (build_dt): Ditto.
182 2013-02-24  Joseph Myers  <joseph@codesourcery.com>
184         * resolve.c (generate_component_assignments): Don't use UTF-8
185         ligature in diagnostic.
187 2013-02-21  Janus Weil  <janus@gcc.gnu.org>
189         PR fortran/56385
190         * trans-array.c (structure_alloc_comps): Handle procedure-pointer
191         components with allocatable result.
193 2012-02-21  Tobias Burnus  <burnus@net-b.de>
195         PR fortran/56416
196         * gfortran.texi (Part II: Language Reference, Extensions,
197         Non-Fortran Main Program): Sort @menu to match actual section order.
198         * intrinsic.texi (Intrinsic Procedures): Ditto.
199         (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
201 2013-02-15  Tobias Burnus  <burnus@net-b.de>
202             Mikael Morin  <mikael@gcc.gnu.org>
204         PR fortran/56318
205         * simplify.c (gfc_simplify_matmul): Fix result shape
206         and matmul result.
208 2013-02-15  Tobias Burnus  <burnus@net-b.de>
210         PR fortran/53818
211         * resolve.c (apply_default_init_local): Don't create an
212         initializer for a result variable.
214 2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
216         PR fortran/56224
217         * gfortran.h (gfc_add_include_path):  Add boolean argument
218         for warn.
219         * scanner.c (gfc_add_include_path):  Pass along warn argument
220         to add_path_to_list.
221         * options.c (gfc_post_options):  Add true warn argument to
222         gfc_add_include_path.
223         (gfc_handle_module_path_options):  Likewise.
224         (gfc_handle_option): Also gfc_add_include_path for intrinsic
225         modules, without warning.
227 2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
228             Tobias Burnus  <burnus@net-b.de>
230         PR testsuite/56138
231         * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
232         results for functions without extra result variable.
234         Revert:
235         2013-01-30  Tobias Burnus  <burnus@net-b.de>
237         PR fortran/56138
238         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
239         results for functions without extra result variable.
241 2013-02-12  Janus Weil  <janus@gcc.gnu.org>
243         PR fortran/46952
244         * resolve.c (resolve_call): Do not check deferred procedures for
245         recursiveness.
247 2013-02-09  Paul Thomas  <pault@gcc.gnu.org>
249         PR fortran/55362
250         * check.c (array_check): It is an error if a procedure is
251         passed.
253 2013-02-08  Mikael Morin  <mikael@gcc.gnu.org>
255         PR fortran/54107
256         * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
257         to error_mark_node on entry.  Detect recursive types.  Build a variadic
258         procedure type if the type is recursive.  Restore the initial
259         backend_decl.
261 2013-02-07  Tobias Burnus  <burnus@net-b.de>
263         PR fortran/54339
264         * gfortran.texi (Standards): Mention TS29113.
265         (Varying Length Character): Mention deferred-length
266         strings.
267         (Fortran 2003 Status): Add unlimited polymorphic.
268         (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
269         (C Interop): Update the section about TS29113.
271 2013-02-06 Paul Thomas  <pault@gcc.gnu.org>
273         PR fortran/55789
274         * trans-array.c (trans_array_constructor): Remove condition
275         'dynamic' = true if the loop ubound is a VAR_DECL.
277 2013-02-04  Paul Thomas  <pault@gcc.gnu.org>
279         PR fortran/56008
280         PR fortran/47517
281         * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
282         the lhs descriptor before it is modified for reallocation. Use
283         it to deallocate allocatable components in the reallocation
284         block.  Nullify allocatable components for newly (re)allocated
285         arrays.
287 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
289         PR fortran/54195
290         * resolve.c (resolve_typebound_procedures): Recurse through
291         resolve_symbol.
293 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
295         PR fortran/54107
296         PR fortran/54195
297         * gfortran.h (struct gfc_symbol): New field 'resolved'.
298         * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
299         (resolve_symbol): Skip duplicate calls.  Don't check the current
300         namespace.
302 2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
304         PR fortran/50627
305         PR fortran/56054
306         * decl.c (gfc_match_end):  Remove half-ready namespace
307         from parent if the end of a block is missing.
308         * parse.c (parse_module):  Do not put namespace into
309         gsymbol on error.
311 2013-01-30  Tobias Burnus  <burnus@net-b.de>
313         PR fortran/56138
314         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
315         results for functions without extra result variable.
317 2013-01-29  Janus Weil  <janus@gcc.gnu.org>
318             Mikael Morin  <mikael@gcc.gnu.org>
320         PR fortran/54107
321         * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
322         (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
323         gfc_expr_replace_comp): Delete.
324         (gfc_sym_get_dummy_args): New prototype.
325         * dependency.c (gfc_check_fncall_dependency): Use
326         'gfc_sym_get_dummy_args'.
327         * expr.c (gfc_is_constant_expr): Ditto.
328         (replace_symbol,gfc_expr_replace_symbols,replace_comp,
329         gfc_expr_replace_comp): Deleted.
330         * frontend-passes.c (doloop_code,do_function): Use
331         'gfc_sym_get_dummy_args'.
332         * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
333         gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
334         gfc_check_typebound_override): Ditto.
335         * module.c (MOD_VERSION): Bump module version.
336         (mio_component): Do not read/write 'formal' and 'formal_ns'.
337         * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
338         copy formal args, but just keep a pointer to the interface.
339         (resolve_function,resolve_call,resolve_typebound_generic_call,
340         resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
341         resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
342         resolve_typebound_procedure,check_uop_procedure): Use
343         'gfc_sym_get_dummy_args'.
344         * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
345         (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
346         (gfc_sym_get_dummy_args): New function.
347         * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
348         Use 'gfc_sym_get_dummy_args'.
349         * trans-decl.c (build_function_decl,create_function_arglist,
350         build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
351         add_argument_checking): Ditto.
352         * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
353         gfc_conv_statement_function): Ditto.
354         * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
355         * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
357 2013-01-28  Tobias Burnus  <burnus@net-b.de>
358             Mikael Morin  <mikael@gcc.gnu.org>
360         PR fortran/53537
361         * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
362         interface block.
363         (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
364         * decl.c (gfc_match_data_decl): Ditto.
365         (variable_decl): Remove undeclared type error.
366         (gfc_match_import): Use renamed instead of original name.
368 2013-01-27 Paul Thomas  <pault@gcc.gnu.org>
370         PR fortran/55984
371         PR fortran/56047
372         * gfortran.h : Add associate_var to symbol_attr.
373         * resolve.c (resolve_assoc_var): Set associate_var attribute.
374         If the target class_ok is set, set it for the associate
375         variable.
376         * check.c (allocatable_check): Associate variables should not
377         have the allocatable attribute even if their symbols do.
378         * class.c (gfc_build_class_symbol): Symbols with associate_var
379         set will always have a good class container.
381 2013-01-23  Janus Weil  <janus@gcc.gnu.org>
383         PR fortran/56081
384         * resolve.c (resolve_select): Add argument 'select_type', reject
385         non-scalar expressions.
386         (resolve_select_type,resolve_code): Pass new argument to
387         'resolve_select'.
389 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
391         PR fortran/56052
392         * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
393         and DECL_IGNORED_P on select_type_temporary and don't set
394         DECL_BY_REFERENCE.
396 2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
398         PR fortran/55919
399         * scanner.c (add_path_to_list): Copy path to temporary and strip
400         trailing directory separators before calling stat().
402 2013-01-17  Richard Biener  <rguenther@suse.de>
404         * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
405         dependent on sign of step, avoids repeated evaluation of
406         step sign test.  Avoid undefined overflow issues by using unsigned
407         arithmetic.
409 2013-01-16  Janus Weil  <janus@gcc.gnu.org>
411         PR fortran/55983
412         * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
413         asserting it.
415 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
416             Tobias Burnus  <burnus@net-b.de>
418         PR driver/55884
419         * lang.opt (fintrinsic-modules-path): Don't accept Joined.
420         (fintrinsic-modules-path=): New.
421         * options.c (gfc_handle_option, gfc_get_option_string,
422         gfc_get_option_string): Handle the latter.
424 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
426         PR fortran/52865
427         * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
428         and use value of countm1 before the decrement in the condition.
430 2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
432         PR fortran/54286
433         * expr.c (gfc_check_pointer_assign): Check for presence of
434         's2' before using it.
436 2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
438         PR fortran/55806
439         * frontend-passes.c (optimize_reduction):  New function,
440         including prototype.
441         (callback_reduction):  Likewise.
442         (gfc_run_passes):  Also run optimize_reduction.
443         (copy_walk_reduction_arg):  New function.
444         (dummy_code_callback):  New function.
446 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
448         PR fortran/55935
449         * trans-expr.c (gfc_conv_structure): Call
450         unshare_expr_without_location on the ctor elements.
452 2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
454         PR fortran/54286
455         * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
456         and rvalue interfaces are presented to gfc_compare_interfaces.
457         Simplify references to interface names by using the symbols
458         themselves. Call gfc_compare_interfaces with s1 and s2 inter-
459         changed to overcome the asymmetry of this function. Do not
460         repeat the check for the presence of s1 and s2.
462 2013-01-12  Janus Weil  <janus@gcc.gnu.org>
464         PR fortran/55072
465         * trans-array.c (gfc_conv_array_parameter): No packing was done for
466         full arrays of derived type.
468 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
470         PR fortran/55868
471         * class.c (get_unique_type_string): Change $tar to STAR and
472         replace sprintf by strcpy where there is no formatting.
473         * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
475 2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
477         PR fortran/47203
478         * module.c (check_for_ambiguous): Get the current program unit using
479         gfc_current_ns.
481 2013-01-09  Tobias Burnus  <burnus@net-b.de>
483         PR fortran/55758
484         * resolve.c (resolve_symbol): Reject non-C_Bool logicals
485         in BIND(C) procedures with -std=f*.
487 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
489         PR fortran/55618
490         * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
491         character function arguments to elemental procedures in
492         scalarization loops.
494 2013-01-07  Tobias Burnus  <burnus@net-b.de>
496         PR fortran/55763
497         * gfortran.h (gfc_check_assign_symbol): Update prototype.
498         * decl.c (add_init_expr_to_sym, do_parm): Update call.
499         * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
500         improve error location; support components.
501         (gfc_check_pointer_assign): Handle component assignments.
502         * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
503         (resolve_values): Update call.
504         (resolve_structure_cons): Avoid double diagnostic.
506 2013-01-07  Tobias Burnus  <burnus@net-b.de>
507             Thomas Koenig  <tkoenig@gcc.gnu.org>
509         PR fortran/55852
510         * expr.c (gfc_build_intrinsic_call): Avoid clashes
511         with user's procedures.
512         * gfortran.h (gfc_build_intrinsic_call): Update prototype.
513         * simplify.c (gfc_simplify_size): Update call.
514         * class.c (finalization_scalarizer, finalization_get_offset,
515         finalizer_insert_packed_call, generate_finalization_wrapper):
516         Clean up by using gfc_build_intrinsic_call.
518 2013-01-07  Tobias Burnus  <burnus@net-b.de>
520         PR fortran/55763
521         * resolve.c (resolve_select_type): Reject intrinsic types for
522         a non-unlimited-polymorphic selector.
524 2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
526         PR fortran/53876
527         PR fortran/54990
528         PR fortran/54992
529         * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
530         to see if it is GFC_CLASS_TYPE_P.
531         * trans-expr.c (gfc_get_vptr_from_expr): The same.
532         (gfc_conv_class_to_class): If the types are not the same,
533         cast parmese->expr to the type of ctree.
534         * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
535         CLASS components must be set.
537 2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
539         PR fortran/42769
540         PR fortran/45836
541         PR fortran/45900
542         * module.c (read_module): Don't reuse local symtree if the associated
543         symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
544         ambiguous.
545         * resolve.c (resolve_call): Use symtree's name instead of symbol's to
546         lookup the symtree.
548 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
549             Mikael Morin  <mikael@gcc.gnu.org>
551         PR fortran/55827
552         * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
553         e->symtree == NULL.
554         * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
556 2013-01-05  Tobias Burnus  <burnus@net-b.de>
558         * class.c (finalize_component): Used passed offset expr.
559         (finalization_get_offset): New static function.
560         (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
561         to handle noncontiguous arrays.
563 2013-01-04  Tobias Burnus  <burnus@net-b.de>
565         * trans.c (gfc_build_final_call): New function.
566         * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
567         New function prototypes.
568         * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
569         conv_scalar_to_descriptor, removed static attribute.
570         (gfc_conv_procedure_call): Honor renaming.
572 2013-01-04  Tobias Burnus  <burnus@net-b.de>
574         * intrinsic.c (add_functions): New internal intrinsic
575         function GFC_PREFIX ("stride").
576         * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
577         * intrinsic.h (gfc_resolve_stride): New prototypes.
578         * iresolve.c (gfc_resolve_stride): New function.
579         * trans-intrinsic.c (conv_intrinsic_stride): New static
580         function.
581         (gfc_conv_intrinsic_function): Use it.
583 2013-01-04  Tobias Burnus  <burnus@net-b.de>
585         * class.c (gfc_find_intrinsic_vtab): Add _final
586         component.
587         * decl.c (gfc_match_null): Remove superfluous
588         variadic argument to gfc_match.
590 2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
592         PR fortran/55172
593         * match.c (copy_ts_from_selector_to_associate): Remove call to
594         gfc_resolve_expr and replace it with explicit setting of the
595         array reference type.
596         * resolve.c (resolve_select_type): It is an error if the
597         selector is coindexed.
599 2013-01-04  Tobias Burnus  <burnus@net-b.de>
601         PR fortran/55763
602         * decl.c (gfc_match_null): Parse and reject MOLD.
604 2013-01-04  Tobias Burnus  <burnus@net-b.de>
606         PR fortran/55854
607         PR fortran/55763
608         * class.c (gfc_class_null_initializer): Fix finding the vtab.
609         (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
611 2013-01-03  Janus Weil  <janus@gcc.gnu.org>
613         PR fortran/55855
614         * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
615         of rvalue. Correct hyphenation in error message.
617 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
619         * gfortranspec.c (lang_specific_driver): Update copyright notice
620         dates.
622 Copyright (C) 2013 Free Software Foundation, Inc.
624 Copying and distribution of this file, with or without modification,
625 are permitted in any medium without royalty provided the copyright
626 notice and this notice are preserved.