correct PR numbers
[official-gcc.git] / gcc / fortran / ChangeLog
bloba214675832f141da2c4d63e41baead5302ab9b77
1 2013-10-29  Paul Thomas  <pault@gcc.gnu.org>
3         PR fortran 58793
4         * trans-types.c (gfc_typenode_for_spec): Add typenode for
5         BT_HOLLERITH. Note that the length is incorrect but unusable.
7         PR fortran 58858
8         * target-memory.c (gfc_element_size): Add element sizes for
9         BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec.
11 2013-10-24  Tobias Burnus  <burnus@net-b.de>
13         PR fortran/44646
14         * trans-stmt.c (struct forall_info): Add do_concurrent field.
15         (gfc_trans_forall_1): Set it for do concurrent.
16         (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind.
18 2013-10-23  Tobias Burnus  <burnus@net-b.de>
20         PR fortran/58793
21         * interface.c (compare_parameter): Reject passing TYPE(*)
22         to CLASS(*).
24 2013-10-22  Paul Thomas  <pault@gcc.gnu.org>
26         PR fortran 57893
27         * class.c : Include target-memory.h.
28         (gfc_find_intrinsic_vtab) Build a minimal expression so that
29         gfc_element_size can be used to obtain the storage size, rather
30         that the kind value.
32 2013-10-21  Tobias Burnus  <burnus@net-b.de>
34         PR fortran/58803
35         * decl.c (match_ppc_decl): Prevent later
36         double free.
38 2013-10-17  Andrew MacLeod  <amacleod@redhat.com>
40         * trans-openmp.c: Include omp-low.h.
42 2013-10-16  Tobias Burnus  <burnus@net-b.de>
44         PR fortran/58652
45         * interface.c (compare_parameter): Accept passing CLASS(*)
46         to CLASS(*).
48 2013-10-16  Tobias Burnus  <burnus@net-b.de>
50         * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
51         Document omp_proc_bind_kind.
53 2013-10-15  Tobias Burnus  <burnus@net-b.de>
55         PR fortran/58652
56         * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
57         of CLASS(*) variables.
59 2013-10-14  Tobias Burnus  <burnus@net-b.de>
61         PR fortran/58658
62         * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
63         for CLASS(*).
65 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
67         * trans-openmp.c (gfc_omp_clause_default_ctor,
68         gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION.
69         * f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define.
70         * types.def (DEF_FUNCTION_TYPE_8): Document.
71         (BT_FN_VOID_OMPFN_PTR_UINT,
72         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
73         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
74         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
75         (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
76         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
77         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
78         BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
79         BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
80         BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
81         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
83 2013-10-10  Tobias Burnus  <burnus@net-b.de>
85         PR fortran/58226
86         * options.c (gfc_get_option_string): Handle zero arg case.
88 2013-10-02  Tobias Burnus  <burnus@net-b.de>
90         PR fortran/58593
91         * trans-expr.c (gfc_conv_string_tmp): Fix obtaining
92         the byte size of a single character.
94 2013-10-01  Tobias Burnus  <burnus@net-b.de>
96         PR fortran/58579
97         * trans-expr.c (gfc_conv_string_tmp): Correctly obtain
98         the byte size of a single character.
100 2013-09-27  Janne Blomqvist  <jb@gcc.gnu.org>
102         * intrinsic.texi (DATE_AND_TIME): Fix example.
104 2013-09-25  Tobias Burnus  <burnus@net-b.de>
106         PR fortran/58436
107         * class.c (generate_finalization_wrapper): Handle CLASS(*).
109 2013-09-25  Tobias Burnus  <burnus@net-b.de>
111         PR fortran/57697
112         PR fortran/58469
113         * resolve.c (generate_component_assignments): Avoid double free
114         at runtime and freeing a still-being used expr.
116 2013-09-25  Tom Tromey  <tromey@redhat.com>
118         * Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
119         (gfortranspec.o): Remove.
120         (CFLAGS-fortran/gfortranspec.o): New variable.
121         (GFORTRAN_D_OBJS): Update.
122         ($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
123         (fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
124         (fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
125         (fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
126         (fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
127         (fortran/trans-array.o, fortran/trans-intrinsic.o)
128         (fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
129         (fortran/data.o, fortran/options.o, fortran/cpp.o)
130         (fortran/scanner.o, fortran/module.o): Remove.
132 2013-09-25  Tom Tromey  <tromey@redhat.com>
134         * Make-lang.in (gfortranspec.o): Don't use subshell.
136 2013-09-23  Janus Weil  <janus@gcc.gnu.org>
138         PR fortran/58355
139         * decl.c (check_extended_derived_type): Prevent segfault, modify error
140         message.
142 2013-09-20  Janus Weil  <janus@gcc.gnu.org>
144         PR fortran/58099
145         * expr.c (gfc_check_pointer_assign): Remove second call to
146         'gfc_compare_interfaces' with swapped arguments.
147         * interface.c (gfc_compare_interfaces): Symmetrize the call to
148         'check_result_characteristics' by calling it with swapped arguments.
150 2013-09-18  Tobias Burnus  <burnus@net-b.de>
152         * expr.c (gfc_check_assign_symbol): Free lvalue.ref.
154 2013-09-18  Tobias Burnus  <burnus@net-b.de>
156         PR fortran/43366
157         * primary.c (gfc_variable_attr): Also handle codimension.
158         * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic for
159         polymorphic assignment.
161 2013-09-16  Tobias Burnus  <burnus@net-b.de>
163         PR fortran/58356
164         * class.c (generate_finalization_wrapper): Init proc_tree if
165         not yet resolved.
167 2013-09-16  Tobias Burnus  <burnus@net-b.de>
169         PR fortran/57697
170         * resolve.c (generate_component_assignments): Correctly handle the
171         case that the LHS is not allocated.
173 2013-09-15  Tobias Burnus  <burnus@net-b.de>
175         PR fortran/57697
176         * resolve.c (generate_component_assignments): Handle unallocated
177         LHS with defined assignment of components.
179 2013-09-12  Brooks Moses  <bmoses@google.com>
181         PR driver/42955
182         * Make-lang.in: Do not install driver binaries in $(target)/bin.
184 2013-09-09  Tobias Burnus  <burnus@net-b.de>
186         * invoke.texi (Error and Warning Options): Add hyphen.
188 2013-09-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
190         PR fortran/PR56519
191         * gfortran.h:  Declare gfc_do_concurrent_flag as extern.
192         * resolve.c:  Rename do_concurrent_flag to gfc_do_concurrent_flag
193         and make non-static.
194         (resolve_function):  Use gfc_do_concurrent_flag instead of
195         do_concurrent_flag.
196         (pure_subroutine):  Likewise.
197         (resolve_code):  Likewise.
198         (resolve_types):  Likewise.
199         * intrinsic.c (gfc_intrinsic_sub_interface):  Raise error for
200         non-pure intrinsic subroutines within DO CONCURRENT.
202 2013-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
204         PR fortran/52243
205         * trans-expr.c (is_runtime_conformable):  New function.
206         * gfc_trans_assignment_1:  Use it.
208 2013-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
210         PR fortran/58146
211         * array.c (gfc_ref_dimen_size):  If possible, use
212         gfc_dep_difference to calculate array refrence
213         sizes.  Fall back to integer code otherwise.
214         * dependency.c (discard_nops).  Move up.
215         Also discarde widening integer conversions.
216         (gfc_dep_compare_expr):  Use discard_nops.
218 2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
220         PR fortran/57798
221         * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
222         gfc_set_delta): Generate preliminary code before the outermost loop.
224 2013-08-23  Janus Weil  <janus@gcc.gnu.org>
226         PR fortran/57843
227         * interface.c (gfc_extend_assign): Look for type-bound assignment
228         procedures before non-typebound.
230 2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
232         * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
233         to the callers.
234         (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
236 2013-08-22  Janus Weil  <janus@gcc.gnu.org>
238         PR fortran/58185
239         * match.c (copy_ts_from_selector_to_associate): Only build class
240         container for polymorphic selector. Some cleanup.
242 2013-08-20  Janus Weil  <janus@gcc.gnu.org>
244         PR fortran/53655
245         * trans-decl.c (generate_local_decl): Check if type has any components.
247 2013-08-19  Janus Weil  <janus@gcc.gnu.org>
249         PR fortran/46271
250         * openmp.c (resolve_omp_clauses): Bugfix for procedure pointers.
252 2013-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
254         PR fortran/56666
255         * gfortran.h (gfc_option_t):  Add warn_zerotrip.
256         * invoke.texi (-Wzerotrip):  Document option.
257         * lang.opt (Wzerotrip):  Add.
258         * options.c (gfc_init_options):  Initialize warn_zerotrip.
259         (set_Wall): Add handling of warn_zerotrip.
260         (gfc_handle_option):  Handle OPT_Wzerotrip.
261         * resolve.c (gfc_resolve_iterator): Honor
262         gfc_option.warn_zerotrip; update error message to show
263         how to suppress the warning.
265 2013-08-09  Janus Weil  <janus@gcc.gnu.org>
267         * gfortran.h (gfc_get_code): Modified prototype.
268         * class.c (finalize_component, finalization_scalarizer,
269         finalization_get_offset, finalizer_insert_packed_call,
270         generate_finalization_wrapper, gfc_find_derived_vtab,
271         gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
272         * io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
273         gfc_match_inquire): Call 'gfc_get_code' with argument.
274         * match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
275         gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
276         Ditto.
277         * parse.c (new_level): Ditto.
278         (add_statement): Use XCNEW.
279         * resolve.c (resolve_entries, resolve_allocate_expr,
280         resolve_select_type, build_assignment, build_init_assign): Call
281         'gfc_get_code' with argument.
282         * st.c (gfc_get_code): Add argument 'op'.
283         * trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
284         with argument.
285         * trans-stmt.c (gfc_trans_allocate): Ditto.
287 2013-08-09  Janus Weil  <janus@gcc.gnu.org>
289         PR fortran/58058
290         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
291         string, if necessary.
293 2013-08-06  Martin Jambor  <mjambor@suse.cz>
295         PR fortran/57987
296         * trans-decl.c (gfc_generate_function_code): Never call
297         cgraph_finalize_function on nested functions.
299 2013-08-06  Janus Weil  <janus@gcc.gnu.org>
301         PR fortran/57306
302         * class.c (gfc_class_null_initializer): Rename to
303         'gfc_class_initializer'. Treat non-NULL init-exprs.
304         * gfortran.h (gfc_class_null_initializer): Update prototype.
305         * trans-decl.c (gfc_get_symbol_decl): Treat class variables.
306         * trans-expr.c (gfc_conv_initializer): Ditto.
307         (gfc_trans_subcomponent_assign): Renamed gfc_class_null_initializer.
309 2013-07-30  Tobias Burnus  <burnus@net-b.de>
311         PR fortran/57530
312         * symbol.c (gfc_type_compatible): A type is type compatible with
313         a class if both have the same declared type.
314         * interface.c (compare_type): Reject CLASS/TYPE even if they
315         are type compatible.
317 2013-07-30  Tobias Burnus  <burnus@net-b.de>
319         PR fortran/57530
320         * trans-expr.c (gfc_trans_class_assign): Handle CLASS array
321         functions.
322         (gfc_trans_pointer_assign): Ditto and support pointer assignment of
323         a polymorphic var to a nonpolymorphic var.
325 2013-07-22  Po Chang  <pchang9@cs.wisc.edu>
327         * match.c (gfc_match_call): Exit loop after setting i.
329         * resolve.c (resolve_variable): Exit loop after setting seen.
331         * expr.c (gfc_check_pointer_assign): Exit loop after setting warn.
333         * trans-array.c (set_loop_bounds): Exit loop after setting
334         nonoptional_arr.
336         * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector.
338 2013-07-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
340         PR fortran/58009
341         * expr.c (gfc_check_vardef_context):  Check for same values in
342         vector expression subscripts.
344 2013-07-27  Tobias Burnus  <burnus@net-b.de>
346         PR fortran/57991
347         * interface.c (check_some_aliasing): Also warn for intent OUT/OUT.
349 2013-07-27  Janus Weil  <janus@gcc.gnu.org>
351         PR fortran/57285
352         * check.c (dim_rank_check): Re-enable this check for CLASS arrays.
354 2013-07-25  Janus Weil  <janus@gcc.gnu.org>
356         PR fortran/57966
357         * resolve.c (resolve_typebound_function): Make sure the declared type,
358         including its type-bound procedures, is resolved before resolving the
359         actual type-bound call.
361 2013-07-25  Janus Weil  <janus@gcc.gnu.org>
363         PR fortran/57639
364         * interface.c (compare_parameter): Check for class_ok.
365         * simplify.c (gfc_simplify_same_type_as): Ditto.
367 2013-07-23   OndÅ™ej Bílka  <neleai@seznam.cz>
369         * decl.c: Fix comment typos.
370         * interface.c: Likewise.
371         * trans-array.c: Likewise.
372         * trans.c: Likewise.
374 2013-07-22  Tobias Burnus  <burnus@net-b.de>
376         PR fortran/57906
377         PR fortran/52052
378         * class.c (gfc_build_class_symbol): Set coarray_comp.
379         * trans-array.c (structure_alloc_comps): For coarrays,
380         directly use the data pointer address.
382 2013-07-22  Chang  <pchang9@cs.wisc.edu>
384         * trans-decl.c (gfc_build_dummy_array_decl): Exit loop after
385         setting PACKED_PARTIAL.
387 2013-07-22  Tobias Burnus  <burnus@net-b.de>
389         * trans-array.c (gfc_array_allocate): Correct memory-leak patch.
391 2013-07-22  Tobias Burnus  <burnus@net-b.de>
393         * trans-array.c (gfc_array_allocate,
394         gfc_trans_deferred_array): Plug memory leak.
396 2013-07-21  OndÅ™ej Bílka  <neleai@seznam.cz>
398         * trans-decl.c: Fix comment typos.
399         * trans-expr.c: Ditto.
401 2013-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
403         PR fortran/56937
404         * dependency.c (gfc_dep_resolver):  Treat identical
405         array subscripts as identical; don't unconditionally
406         return a dependency if an array subscript is found.
408 2013-07-21  Tobias Burnus  <burnus@net-b.de>
410         PR fortran/35862
411         * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
412         GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.
414 2013-07-21  Tobias Burnus  <burnus@net-b.de>
416         PR fortran/57894
417         * check.c (min_max_args): Add keyword= check.
419 2013-07-17  Mikael Morin  <mikael@gcc.gnu.org>
420             Tobias Burnus  <burnus@net-b.de>
422         PR fortran/57895
423         * match.c (gfc_match_name): Ensure that the error
424         message regarding -fdollar-ok gets printed.
425         (gfc_match_common): Avoid multiple freeing.
427 2013-07-16  Tobias Burnus  <burnus@net-b.de>
429         PR fortran/57912
430         * trans-expr.c (gfc_trans_scalar_assign): Correct if
431         condition for caf realloc.
433 2013-07-15  Tobias Burnus  <burnus@net-b.de>
435         * trans-array.h (gfc_deallocate_alloc_comp_no_caf,
436         gfc_reassign_alloc_comp_caf): New prototype.
437         * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
438         and COPY_ALLOC_COMP_CAF.
439         (structure_alloc_comps): Handle it.
440         (gfc_reassign_alloc_comp_caf,
441         gfc_deallocate_alloc_comp_no_caf): New function.
442         (gfc_alloc_allocatable_for_assignment): Call it.
443         * trans-expr.c (gfc_trans_scalar_assign,
444         gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
445         * parse.c (parse_derived): Correctly set coarray_comp.
446         * resolve.c (resolve_symbol): Improve error wording.
448 2013-07-15  Tobias Burnus  <burnus@net-b.de>
450         PR fortran/37336
451         * trans.c (gfc_add_comp_finalizer_call): New function.
452         * trans.h (gfc_add_comp_finalizer_call): New prototype.
453         * trans-array.c (structure_alloc_comps): Call it.
455 2013-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
456             Tobias Burnus  <burnus@gcc.gnu.org>
458         PR fortran/52669
459         * trans-decl.c (gfc_finish_var_decl):  Move setting of
460         PRIVATE for a module variable if the module has a private
461         default or -fmodule-private is given to...
462         (gfc_create_module_variable): here. Optionally
463         warn about private module variable which is not used.
465 2013-07-08  Tobias Burnus  <burnus@net-b.de>
467         PR fortran/57834
468         * check.c (is_c_interoperable): Add special case for c_f_pointer.
469         (explicit-size, gfc_check_c_f_pointer, gfc_check_c_loc): Update
470         call.
472 2013-07-08  Tobias Burnus  <burnus@net-b.de>
474         PR fortran/50554
475         * io.c (match_inquire_element): Add missing do-var check.
477 2013-07-08  Tobias Burnus  <burnus@net-b.de>
479         PR fortran/57785
480         * simplify.c (compute_dot_product): Complex conjugate for
481         dot_product.
482         (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
484 2013-07-08  Tobias Burnus  <burnus@net-b.de>
486         PR fortran/57469
487         * trans-decl.c (generate_local_decl): Don't warn that
488         a dummy is unused, when it is in a namelist.
490 2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
492         PR fortran/54788
493         * array.c (spec_size): handle the case as==NULL.
495 2013-06-26  Tobias Burnus  <burnus@net-b.de>
497         PR fortran/29800
498         * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
499         diagnostic message.
500         * trans-array.c (gfc_conv_array_ref): Update prototype.
501         * trans-expr.c (gfc_conv_variable): Update call.
503 2013-06-24  Steven G. Kargl  <sgk@troutmask.apl.washington.edu>
504             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
505             Dominique d'Humieres  <dominiq@lps.ens.fr>
507         PR fortran/52413
508         * simplify.c (gfc_simplify_fraction): Fix the sign of negative values.
510 2013-06-21  Tobias Burnus  <burnus@net-b.de>
512         PR fortran/37336
513         * trans-array.c (gfc_trans_deferred_array): Call the
514         finalizer for nonallocatable local variables.
515         * trans-decl.c (gfc_get_symbol_decl): Add local
516         finalizable vars to the deferred list.
517         (gfc_trans_deferred_vars): Call gfc_trans_deferred_array
518         for those.
520 2013-06-21  Tobias Burnus  <burnus@net-b.de>
522         * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
523         at least one byte.
524         * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.
526 2013-06-20  Tobias Burnus  <burnus@net-b.de>
528         * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.
530 2013-06-17  Tobias Burnus  <burnus@net-b.de>
532         * gfortran.h (gfc_option_t): Add fpe_summary.
533         * gfortran.texi (_gfortran_set_options): Update.
534         * invoke.texi (-ffpe-summary): Add doc.
535         * lang.opt (ffpe-summary): Add flag.
536         * options.c (gfc_init_options, gfc_handle_option): Handle it.
537         (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
538         also handle fpe_summary.
539         * trans-decl.c (create_main_function): Update
540         _gfortran_set_options call.
542 2013-06-15  Mikael Morin  <mikael@gcc.gnu.org>
544         PR fortran/49074
545         PR fortran/56136
546         * dependency.c (gfc_check_argument_var_dependency): Return 0 in the
547         array constructor case.
549 2013-06-14  Tobias Burnus  <burnus@net-b.de>
551         PR fortran/57508
552         * resolve.c (get_temp_from_expr): Don't copy function
553         result attributes to temporary.
555 2013-06-14  Tobias Burnus  <burnus@net-b.de>
557         PR fortran/57596
558         * trans-decl.c (gfc_trans_deferred_vars): Honor OPTIONAL
559         for nullify and deferred-strings' length variable.
561 2013-06-13  Mikael Morin  <mikael@gcc.gnu.org>
563         PR fortran/49074
564         * trans-expr.c (gfc_conv_variable): Don't walk the reference chain.
565         Handle NULL array references.
566         (gfc_conv_procedure_call): Remove code handling NULL array references.
568 2013-06-11  Tobias Burnus  <burnus@net-b.de>
570         PR fortran/57535
571         * trans-array.c (build_class_array_ref): Fix ICE for
572         function result variables.
574 2013-06-08  Tobias Burnus  <burnus@net-b.de>
576         PR fortran/37336
577         * trans-decl.c (init_intent_out_dt): Call finalizer
578         when appropriate.
580 2013-06-08  Tobias Burnus  <burnus@net-b.de>
582         PR fortran/57553
583         * simplify.c (gfc_simplify_storage_size): Handle literal
584         strings.
585         * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
586         Add missing fold_convert.
588 2013-06-07  Tobias Burnus  <burnus@net-b.de>
590         PR fortran/57549
591         * array.c (gfc_match_array_constructor): Call
592         gfc_match_type_spec instead of gfc_match_decl_type_spec.
593         * match.c (gfc_match_type_spec): Renamed from match_type_spec.
594         (gfc_match_type_is, gfc_match_allocate): Update call.
595         * match.h (gfc_match_type_spec): Add prototype.
597 2013-06-07  Tobias Burnus  <burnus@net-b.de>
599         PR fortran/57556
600         * trans.c (gfc_build_final_call): Init block before use.
602 2013-06-06  Tobias Burnus  <burnus@net-b.de>
604         PR fortran/57542
605         * trans.c (gfc_build_final_call): Add se.pre to the block
606         and modify the assert.
608 2013-06-04  Tobias Burnus  <burnus@net-b.de>
610         PR fortran/37336
611         * trans.h (gfc_build_final_call): Remove prototype.
612         (gfc_add_finalizer_call): Add prototype.
613         * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
614         (structure_alloc_comps): Update caller.
615         (gfc_trans_deferred_array): Call finalizer.
616         * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
617         * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
618         variables of the main program.
619         * trans-expr.c (gfc_conv_procedure_call): Support finalization.
620         * trans-openmp.c (gfc_omp_clause_dtor,
621         gfc_trans_omp_array_reduction): Update calls.
622         * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
623         of alloc components.
624         * trans.c (gfc_add_finalizer_call): New function.
625         (gfc_deallocate_with_status,
626         gfc_deallocate_scalar_with_status): Call it
627         (gfc_build_final_call): Fix handling of scalar coarrays,
628         move up in the file and make static.
630 2013-06-01  Janus Weil  <janus@gcc.gnu.org>
631             Mikael Morin  <mikael@gcc.gnu.org>
633         * error.c (get_terminal_width): Only limit the width if we're
634         outputting to a terminal. Try to determine width via ioctl.
636 2013-06-01  Tobias Burnus  <burnus@net-b.de>
638         * decl.c (add_global_entry): Take locus.
639         (gfc_match_entry): Update call.
640         (gfc_match_end): Better error location.
641         * parse.c (parse_block_data, parse_module, add_global_procedure,
642         add_global_program): Use better locus data.
644 2013-05-31  Tobias Burnus  <burnus@net-b.de>
646         PR fortran/57456
647         * trans-array.c (gfc_array_init_size): Use passed type spec,
648         when available.
649         (gfc_array_allocate): Pass typespec on.
650         * trans-array.h (gfc_array_allocate): Update prototype.
651         * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
653 2013-05-31  Janus Weil  <janus@gcc.gnu.org>
655         PR fortran/54190
656         PR fortran/57217
657         * gfortran.h (gfc_terminal_width): Remove prototype.
658         * error.c (get_terminal_width): Moved here from misc.c. Renamed.
659         Try to determine terminal width from environment variable.
660         * interface.c (compare_type, compare_rank): New functions. Fix assumed
661         type/rank handling.
662         (compare_type_rank, check_dummy_characteristics,
663         check_result_characteristics, gfc_compare_interfaces): Use them.
664         (symbol_rank): Slightly modified and moved.
665         * misc.c (gfc_terminal_width): Moved to error.c.
667 2013-05-30  Janus Weil  <janus@gcc.gnu.org>
669         PR fortran/54189
670         * resolve.c (check_assumed_size_reference): Check for e->ref.
672 2013-05-30  Tobias Burnus  <burnus@net-b.de>
674         PR fortran/57458
675         * interface.c (compare_parameter): Update C1239/C1240 constraint
676         check for assumed-rank/TS29113.
678 2013-05-29  Tobias Burnus  <burnus@net-b.de>
680         PR fortran/37336
681         * class.c (finalize_component): Fix coarray array refs.
682         (generate_finalization_wrapper): Only gfc_convert_type_warn
683         when the kind value is different.
684         (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
685         (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
686         generation.
687         * module.c (MOD_VERSION): Bump.
688         (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
689         * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
690         void pointer.
691         (gfc_array_allocate, structure_alloc_comps): Don't nullify for
692         BT_CLASS allocations.
693         * trans-stmt.c (gfc_trans_allocate): Ditto.
695 2013-05-29  Tobias Burnus  <burnus@net-b.de>
697         PR fortran/37336
698         * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
700 2013-05-28  Tobias Burnus  <burnus@net-b.de>
702         * trans-expr.c (gfc_conv_procedure_call): Deallocate
703         polymorphic arrays for allocatable intent(out) dummies.
704         (gfc_reset_vptr): New function, moved from trans-stmt.c
705         and extended.
706         * trans-stmt.c (reset_vptr): Remove.
707         (gfc_trans_deallocate): Update calls.
708         * trans.h (gfc_reset_vptr): New prototype.
710 2013-05-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
712         PR fortran/57435
713         * module.c (check_for_ambiguous): Avoid null pointer deref.
715 2013-05-28  Janus Weil  <janus@gcc.gnu.org>
716             Tobias Burnus  <burnus@net-b.de>
718         PR fortran/57217
719         * interface.c (check_dummy_characteristics): Symmetrize type check.
721 2013-05-27  Bud Davis  <jmdavis@link.com>
723         PR fortran/50405
724         * resolve.c (resolve_formal_arglist): Detect error when an argument
725         has the same name as the function.
727 2013-05-27  Tobias Burnus  <burnus@net-b.de>
729         * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
730         * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
732 2013-05-22  Tobias Burnus  <burnus@net-b.de>
734         * resolve.c (get_temp_from_expr): Change mangling to
735         start always with a _.
737 2013-05-22  Tobias Burnus  <burnus@net-b.de>
739         * resolve.c (get_temp_from_expr): Fix temp var mangling.
741 2013-05-22  Tobias Burnus  <burnus@net-b.de>
743         PR fortran/57364
744         * resolve.c (get_temp_from_expr): Commit created sym.
746 2013-05-22  Tobias Burnus  <burnus@net-b.de>
748         PR fortran/57338
749         * intrinsic.c (do_check): Move some checks to ...
750         (do_ts29113_check): ... this new function.
751         (check_specific, gfc_intrinsic_sub_interface): Call it.
753 2013-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
755         * intrinsic.texi (RANDOM_SEED): Improve example.
757 2013-05-21  Tobias Burnus  <burnus@net-b.de>
759         PR fortran/57035
760         * intrinsic.c (do_check): Add constraint check for
761         NO_ARG_CHECK, assumed rank and assumed type.
762         * gfortran.texi (NO_ARG_CHECK): Minor wording change,
763         allow PRESENT intrinsic.
765 2013-05-20  Tobias Burnus  <burnus@net-b.de>
767         PR fortran/48858
768         PR fortran/55465
769         * decl.c (add_global_entry): Add sym_name.
770         * parse.c (add_global_procedure): Ditto.
771         * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
772         a procedure.
773         (resolve_global_procedure): Handle gsym->ns pointing to a module.
774         * trans-decl.c (gfc_get_extern_function_decl): Ditto.
776 2013-05-20  Tobias Burnus  <burnus@net-b.de>
778         PR fortran/48858
779         * decl.c (add_global_entry): Use nonbinding name
780         only for F2003 or if no binding label exists.
781         (gfc_match_entry): Update calls.
782         * parse.c (gfc_global_used): Improve error message.
783         (add_global_procedure): Use nonbinding name
784         only for F2003 or if no binding label exists.
785         (gfc_parse_file): Update call.
786         * resolve.c (resolve_global_procedure): Use binding
787         name when available.
788         * trans-decl.c (gfc_get_extern_function_decl): Ditto.
790 2013-05-20  Tobias Burnus  <burnus@net-b.de>
792         PR fortran/48858
793         * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
794         * match.c (gfc_match_common): Don't add commons to gsym.
795         * resolve.c (resolve_common_blocks): Add to gsym and
796         add checks.
797         (resolve_bind_c_comms): Remove.
798         (resolve_types): Remove call to the latter.
799         * trans-common.c (gfc_common_ns): Remove static var.
800         (gfc_map_of_all_commons): Add static var.
801         (build_common_decl): Correctly handle binding label.
803 2013-05-16  Jason Merrill  <jason@redhat.com>
805         * Make-lang.in (f951$(exeext)): Use link mutex.
807 2013-05-05  Tobias Burnus  <burnus@net-b.de>
809         * resolve.c (conformable_arrays): Avoid segfault
810         when ar.start[i] == NULL.
812 2013-05-05  Tobias Burnus  <burnus@net-b.de>
814         PR fortran/57141
815         * decl.c (gfc_match_null): Permit use-associated
816         NULL intrinsic.
818 2013-05-04  Tobias Burnus  <burnus@net-b.de>
820         * decl.c (gfc_verify_c_interop_param): Permit allocatable
821         and pointer with -std=f2008ts.
823 2013-05-02  Tobias Burnus  <burnus@net-b.de>
825         PR fortran/57142
826         * simplify.c (gfc_simplify_size): Renamed from
827         simplify_size; fix kind=8 handling.
828         (gfc_simplify_size): New function.
829         (gfc_simplify_shape): Add range check.
830         * resolve.c (resolve_function): Fix handling
831         for ISYM_SIZE.
833 2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
835         * frontend-passes.c (optimize_power):  Fix typo
836         in comment.
838 2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
840         PR fortran/57071
841         * frontend-passes.c (optimize_power):  Simplify
842         1**k to 1.
844 2013-04-28  Tobias Burnus  <burnus@net-b.de>
846         PR fortran/57114
847         * intrinsic.texi (RANK): Correct syntax description and
848         expected result.
850 2013-04-28  Tobias Burnus  <burnus@net-b.de>
852         PR fortran/57093
853         * trans-types.c (gfc_get_element_type): Fix handling
854         of scalar coarrays of type character.
855         * intrinsic.texi (PACK): Add missing ")".
857 2013-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
859         PR fortran/57071
860         * frontend-passes (optimize_power):  New function.
861         (optimize_op):  Use it.
863 2013-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
865         PR bootstrap/57028
866         * Make-lang.in (f951): Link in ZLIB.
867         (CFLAGS-fortran/module.o): Add zlib include directory.
869 2013-04-22  Janus Weil  <janus@gcc.gnu.org>
871         PR fortran/53685
872         PR fortran/57022
873         * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
874         expressions.
875         * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
876         of special treatment for EXPR_ARRAY.
877         * target-memory.h (gfc_element_size): New prototype.
878         * target-memory.c (size_array): Remove.
879         (gfc_element_size): New function.
880         (gfc_target_expr_size): Modified to always return the full size of the
881         expression.
883 2013-04-20  Tobias Burnus  <burnus@net-b.de>
885         PR fortran/56907
886         * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
887         passed to C_LOC
889 2013-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
890             Mikael Morin  <mikael@gcc.gnu.org>
892         PR fortran/56872
893         * frontend-passes.c (copy_walk_reduction_arg): Change argument type
894         to gfc_constructor.  If it has an iterator, wrap the copy of its
895         expression in an array constructor with that iterator.  Don't special
896         case function expressions.
897         (callback_reduction): Update caller.  Don't return early if there is
898         an iterator.
900 2013-04-18  Tobias Burnus  <burnus@net-b.de>
902         * expr.c (find_array_element): Don't copy expr.
903         * data.c (create_character_initializer): Free expr.
904         * frontend-passes.c (combine_array_constructor): Ditto.
905         * match.c (match_typebound_call, gfc_match_select_type): Ditto.
906         * resolve.c (resolve_typebound_function): Free gfc_ref.
908 2013-04-18  Tobias Burnus  <burnus@net-b.de>
910         PR fortran/56994
911         * invoke.texi (NEAREST): S argument is not optional.
913 2013-04-17  Janus Weil  <janus@gcc.gnu.org>
915         PR fortran/56814
916         * interface.c (check_result_characteristics): Get result from interface
917         if present.
919 2013-04-17  Janne Blomqvist  <jb@gcc.gnu.org>
921         PR fortran/40958
922         * scanner.h: New file.
923         * Make-lang.in: Dependencies on scanner.h.
924         * scanner.c (gfc_directorylist): Move to scanner.h.
925         * module.c: Don't include md5.h, include scanner.h and zlib.h.
926         (MOD_VERSION): Add comment about backwards compatibility.
927         (module_fp): Change type to gzFile.
928         (ctx): Remove.
929         (gzopen_included_file_1): New function.
930         (gzopen_included_file): New function.
931         (gzopen_intrinsic_module): New function.
932         (write_char): Use gzputc.
933         (read_crc32_from_module_file): New function.
934         (read_md5_from_module_file): Remove.
935         (gfc_dump_module): Use gz* functions instead of stdio, check gzip
936         crc32 instead of md5.
937         (read_module_to_tmpbuf): Use gz* functions instead of stdio.
938         (gfc_use_module): Use gz* functions.
940 2013-04-16  Tobias Burnus  <burnus@net-b.de>
942         PR fortran/39505
943         * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
944         * gfortran.h (ext_attr_id_t): Ditto.
945         * gfortran.texi (GNU Fortran Compiler Directives):
946         Document it.
947         * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
948         (compare_parameter): Ditto - and regard as unlimited polymorphic.
949         * resolve.c (resolve_symbol, resolve_variable): Add same constraint
950         checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
951         (gfc_explicit_interface_required): Require explicit interface
952         for NO_ARG_CHECK.
954 2013-04-16  Janus Weil  <janus@gcc.gnu.org>
956         PR fortran/56968
957         * expr.c (gfc_check_pointer_assign): Handle generic functions returning
958         procedure pointers.
960 2013-04-16  Tobias Burnus  <burnus@net-b.de>
962         PR fortran/56969
963         * intrinsic.c (gfc_intrinsic_func_interface): Don't set
964         module name to "(intrinsic)" for intrinsics from intrinsic
965         modules.
967 2013-04-15  Tobias Burnus  <burnus@net-b.de>
969         * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
971 2013-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
973         PR fortran/56919
974         * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
976 2013-04-15  Tobias Burnus  <burnus@net-b.de>
978         * class.c (gfc_find_intrinsic_vtab): Removed unused var.
979         * dependency.c (check_data_pointer_types): Fix check.
980         * frontend-passes.c (check_data_pointer_types): Remove
981         superfluous statement.
982         * parse.c (decode_omp_directive): Add missing break.
983         * resolve.c (resolve_typebound_subroutine: Free variable.
984         * trans-decl.c (create_function_arglist): Correct condition.
986 2013-04-14  Mikael Morin  <mikael@gcc.gnu.org>
988         PR fortran/56816
989         * match.c (gfc_match_select_type): Add syntax error. Move namespace
990         allocation and cleanup...
991         * parse.c (decode_statement): ... here.
993 2013-04-13  Janus Weil  <janus@gcc.gnu.org>
995         PR fortran/55959
996         * expr.c (gfc_simplify_expr): Branch is not unreachable.
998 2013-04-12  Janus Weil  <janus@gcc.gnu.org>
1000         PR fortran/56266
1001         * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
1003 2013-04-12  Tobias Burnus  <burnus@net-b.de>
1005         PR fortran/56929
1006         * trans-array.c (duplicate_allocatable): Fix handling
1007         of scalar coarrays.
1009 2013-04-12  Janus Weil  <janus@gcc.gnu.org>
1011         PR fortran/56261
1012         * gfortran.h (gfc_explicit_interface_required): New prototype.
1013         * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
1014         required in a proc-ptr assignment.
1015         * interface.c (check_result_characteristics): Extra check.
1016         * resolve.c (gfc_explicit_interface_required): New function.
1017         (resolve_global_procedure): Use new function
1018         'gfc_explicit_interface_required'. Do a full interface check.
1020 2013-04-12  Tobias Burnus  <burnus@net-b.de>
1022         PR fortran/56845
1023         * trans-decl.c (gfc_trans_deferred_vars): Restrict
1024         static CLASS init to SAVE and -fno-automatic.
1026 2013-04-12  Tobias Burnus  <burnus@net-b.de>
1028         PR fortran/56845
1029         * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
1030         allocatable static BT_CLASS.
1031         * trans-expr.c (gfc_class_set_static_fields): New function.
1032         * trans.h (gfc_class_set_static_fields): New prototype.
1034 2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
1036         * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
1037         * arith.c: Replace gfc_try with bool type.
1038         * array.c: Likewise.
1039         * check.c: Likewise.
1040         * class.c: Likewise.
1041         * cpp.c: Likewise.
1042         * cpp.h: Likewise.
1043         * data.c: Likewise.
1044         * data.h: Likewise.
1045         * decl.c: Likewise.
1046         * error.c: Likewise.
1047         * expr.c: Likewise.
1048         * f95-lang.c: Likewise.
1049         * interface.c: Likewise.
1050         * intrinsic.c: Likewise.
1051         * intrinsic.h: Likewise.
1052         * io.c: Likewise.
1053         * match.c: Likewise.
1054         * match.h: Likewise.
1055         * module.c: Likewise.
1056         * openmp.c: Likewise.
1057         * parse.c: Likewise.
1058         * parse.h: Likewise.
1059         * primary.c: Likewise.
1060         * resolve.c: Likewise.
1061         * scanner.c: Likewise.
1062         * simplify.c: Likewise.
1063         * symbol.c: Likewise.
1064         * trans-intrinsic.c: Likewise.
1065         * trans-openmp.c: Likewise.
1066         * trans-stmt.c: Likewise.
1067         * trans-types.c: Likewise.
1069 2013-04-09  Tobias Burnus  <burnus@net-b.de>
1071         * gfortran.texi (KIND Type Parameters,
1072         Internal representation of LOGICAL variables): Add crossrefs.
1073         (Intrinsic Types): Mention issues with _Bool interop.
1074         (Naming and argument-passing conventions): New section.
1076 2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
1078         PR fortran/56782
1079         * frontend-passes.c (callback_reduction):  Don't do
1080         any simplification if there is only a single element
1081         which has an iterator.
1083 2013-04-07  Tobias Burnus  <burnus@net-b.de>
1085         PR fortran/56849
1086         * iresolve.c (gfc_resolve_reshape): Set shape also
1087         with order=.
1089 2013-04-04  Janus Weil  <janus@gcc.gnu.org>
1091         PR fortran/40881
1092         * match.c (gfc_match_return): Remove standard notification.
1093         * primary.c (gfc_match_actual_arglist): Add standard notification.
1095 2013-04-04  Tobias Burnus  <burnus@net-b.de>
1097         PR fortran/50269
1098         * gcc/fortran/check.c (is_c_interoperable,
1099         gfc_check_c_loc): Correct c_loc array checking
1100         for Fortran 2003 and Fortran 2008.
1102 2013-04-03  Janus Weil  <janus@gcc.gnu.org>
1104         PR fortran/56284
1105         PR fortran/40881
1106         * decl.c (gfc_match_formal_arglist): Warn about alternate-return
1107         arguments.
1108         * interface.c (check_dummy_characteristics): Return if symbols are NULL.
1110 2013-04-01  Janus Weil  <janus@gcc.gnu.org>
1112         PR fortran/56500
1113         * symbol.c (gfc_set_default_type): Build class container for
1114         IMPLICIT CLASS.
1116 2013-03-31  Tobias Burnus  <burnus@net-b.de>
1118         * class.c (finalization_scalarizer, finalizer_insert_packed_call,
1119         generate_finalization_wrapper): Avoid segfault with absent SIZE=
1120         argument to TRANSFER and use correct result kind for SIZE.
1121         * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
1122         nonmodules.
1123         * trans.c (gfc_build_final_call): Handle coarrays.
1125 2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
1127         * trans-expr.c (build_memcmp_call):  New function.
1128         (gfc_build_compare_string):  If the strings
1129         compared have constant and equal lengths and
1130         the strings are kind=1, or, for kind=4 strings,
1131         the test is for (in)equality, use memcmp().
1133 2013-03-29  Tobias Burnus  <burnus@net-b.de>
1135         PR fortran/35203
1136         * trans-decl.c (create_function_arglist): Pass hidden argument
1137         for passed-by-value optional+value dummies.
1138         * trans-expr.c (gfc_conv_expr_present,
1139         gfc_conv_procedure_call): Handle those.
1141 2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
1143         PR fortran/45159
1144         * gfortran.h (gfc_dep_difference):  Add prototype.
1145         * dependency.c (discard_nops):  New function.
1146         (gfc_dep_difference):  New function.
1147         (check_section_vs_section):  Use gfc_dep_difference
1148         to calculate the difference of starting indices.
1149         * trans-expr.c (gfc_conv_substring):  Use
1150         gfc_dep_difference to calculate the length of
1151         substrings where possible.
1153 2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
1155         PR fortran/55806
1156         * frontend-passes.c (optimize_code):  Keep track of
1157         current code to make code insertion possible.
1158         (combine_array_constructor):  New function.
1159         (optimize_op):  Call it.
1161 2013-03-27  Tobias Burnus  <burnus@net-b.de>
1163         PR fortran/56650
1164         PR fortran/36437
1165         * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
1166         gfc_check_storage_size): Update checks.
1167         * intrinsic.texi (SIZEOF): Correct class.
1168         * intrinsic.h (gfc_simplify_sizeof,
1169         gfc_simplify_storage_size): New prototypes.
1170         * intrinsic.c (add_functions): Use them.
1171         * simplify.c (gfc_simplify_sizeof,
1172         gfc_simplify_storage_size): New functions.
1174 2013-03-27  Janne Blomqvist  <jb@gcc.gnu.org>
1176         PR fortran/25708
1177         * module.c (module_locus): Use long for position.
1178         (module_content): New variable.
1179         (module_pos): Likewise.
1180         (prev_character): Remove.
1181         (bad_module): Free data instead of closing mod file.
1182         (set_module_locus): Use module_pos.
1183         (get_module_locus): Likewise.
1184         (module_char): use buffer rather than stdio file.
1185         (module_unget_char): Likewise.
1186         (read_module_to_tmpbuf): New function.
1187         (gfc_use_module): Call read_module_to_tmpbuf.
1189 2013-03-26  Tobias Burnus  <burnus@net-b.de>
1191         PR fortran/56649
1192         * simplify.c (gfc_simplify_merge): Simplify more.
1194 2013-03-25  Tobias Burnus  <burnus@net-b.de>
1196         PR fortran/38536
1197         PR fortran/38813
1198         PR fortran/38894
1199         PR fortran/39288
1200         PR fortran/40963
1201         PR fortran/45824
1202         PR fortran/47023
1203         PR fortran/47034
1204         PR fortran/49023
1205         PR fortran/50269
1206         PR fortran/50612
1207         PR fortran/52426
1208         PR fortran/54263
1209         PR fortran/55343
1210         PR fortran/55444
1211         PR fortran/55574
1212         PR fortran/56079
1213         PR fortran/56378
1214         * check.c (gfc_var_strlen): Properly handle 0-sized string.
1215         (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
1216         (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
1217         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
1218         functions.
1219         * expr.c (check_inquiry): Add c_sizeof, compiler_version and
1220         compiler_options.
1221         (gfc_check_pointer_assign): Refine function result check.
1222         gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
1223         GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
1224         GFC_ISYM_C_LOC.
1225         (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
1226         NAMED_SUBROUTINE.
1227         (generate_isocbinding_symbol): Update prototype.
1228         (get_iso_c_sym): Remove.
1229         (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
1230         * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
1231         (gfc_intrinsic_sub_interface): Use it.
1232         (add_functions, add_subroutines): Add missing C-binding intrinsics.
1233         (gfc_intrinsic_func_interface): Add special case for c_loc.
1234         gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
1235         (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
1236         * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
1237         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
1238         gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
1239         * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
1240         functions.
1241         * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
1242         NAMED_FUNCTION.
1243         * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
1244         * module.c (create_intrinsic_function): Support subroutines and
1245         derived-type results.
1246         (use_iso_fortran_env_module): Update calls.
1247         (import_iso_c_binding_module): Ditto; update calls to
1248         generate_isocbinding_symbol.
1249         * resolve.c (find_arglists): Skip for intrinsic symbols.
1250         (gfc_resolve_intrinsic): Find intrinsic subs via id.
1251         (is_scalar_expr_ptr, gfc_iso_c_func_interface,
1252         set_name_and_label, gfc_iso_c_sub_interface): Remove.
1253         (resolve_function, resolve_specific_s0): Remove calls to those.
1254         (resolve_structure_cons): Fix handling.
1255         * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
1256         generation.
1257         (gen_cptr_param, gen_fptr_param, gen_shape_param,
1258         build_formal_args, get_iso_c_sym): Remove.
1259         (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
1260         (generate_isocbinding_symbol): Support hidden symbols and
1261         using c_ptr/c_funptr symtrees for nullptr defs.
1262         * target-memory.c (gfc_target_encode_expr): Fix handling
1263         of c_ptr/c_funptr.
1264         * trans-expr.c (conv_isocbinding_procedure): Remove.
1265         (gfc_conv_procedure_call): Remove call to it.
1266         (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
1267         of c_ptr/c_funptr.
1268         * trans-intrinsic.c (conv_isocbinding_function,
1269         conv_isocbinding_subroutine): New.
1270         (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
1271         Call them.
1272         * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
1273         * trans-types.c (gfc_typenode_for_spec,
1274         gfc_get_derived_type): Ditto.
1275         (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
1277 2013-03-18  Tobias Burnus  <burnus@net-b.de>
1279         * gfortran.h (gfc_option_t): Remove flag_whole_file.
1280         * invoke.texi (-fno-whole-file): Remove.
1281         * lang.opt (fwhole-file): Change to Ignore.
1282         * options.c (gfc_init_options, gfc_post_options,
1283         gfc_handle_option): Remove !flag_whole_file handling
1284         * parse.c (resolve_all_program_units, translate_all_program_units,
1285         gfc_parse_file): Ditto.
1286         * resolve.c (resolve_global_procedure): Ditto.
1287         * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
1288         gfc_create_module_variable): Ditto.
1289         * trans-types.c (gfc_get_derived_type): Ditto.
1291 2013-03-15  Tobias Burnus  <burnus@net-b.de>
1293         PR fortran/56615
1294         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
1295         if they are not simply contiguous.
1297 2013-03-11  Tobias Burnus  <burnus@net-b.de>
1299         * gfortran.texi (STRUCTURE and RECORD): State more clearly how
1300         to convert them into derived types.
1302 2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
1304         PR fortran/56575
1305         * expr.c (gfc_default_initializer): Check that a class declared
1306         type has any components.
1307         * resolve.c (resolve_fl_derived0): On failing the test for C437
1308         set the type to BT_UNKNOWN to prevent repeat error messages.
1310 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1312         PR fortran/56477
1313         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
1315 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1317         PR fortran/54730
1318         * array.c (gfc_match_array_constructor): Set a checkpoint before
1319         matching a typespec.  Drop it on success, restore it otherwise.
1321 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1323         PR fortran/54730
1324         * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
1325         (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
1326         gfc_restore_last_undo_checkpoint): New prototypes.
1327         * symbol.c (default_undo_chgset_var): Update initialization.
1328         (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
1329         free_undo_change_set_data, pop_undo_change_set,
1330         gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
1331         New functions.
1332         (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
1333         field's previous value is not overwritten.  Clear gfc_new field.
1334         (restore_old_symbol): Restore previous old_symbol field.
1335         (gfc_restore_last_undo_checkpoint): New function, using body renamed
1336         from gfc_undo_symbols.  Restore the previous change set as current one.
1337         (gfc_undo_symbols): New body.
1338         (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
1339         Call enforce_single_undo_checkpoint.
1340         (gfc_symbol_done_2): Ditto.  Free change set data.
1342 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1344         * symbol.c (restore_old_symbol): Fix thinko.
1346 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1348         * symbol.c (gfc_undo_symbols): Move code...
1349         (restore_old_symbol): ... here as a new function.
1351 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1353         * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
1354         * gfortran.h: Include vec.h.
1355         (gfc_undo_change_set): New struct.
1356         * symbol.c (tentative_tbp): Remove struct.
1357         (changed_syms, tentative_tbp_list): Remove variables.
1358         (default_undo_chgset_var, latest_undo_chgset): New variables.
1359         (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
1360         gfc_commit_symbols, gfc_commit_symbol,
1361         gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
1362         Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
1364 2013-03-01  Tobias Burnus  <burnus@net-b.de>
1366         PR fortran/56491
1367         * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
1368         * symbol.c (free_components): Free proc-pointer components.
1370 2013-03-01  Tobias Burnus  <burnus@net-b.de>
1372         * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
1373         * trans-io.c (build_dt): Ditto.
1375 2013-02-24  Joseph Myers  <joseph@codesourcery.com>
1377         * resolve.c (generate_component_assignments): Don't use UTF-8
1378         ligature in diagnostic.
1380 2013-02-21  Janus Weil  <janus@gcc.gnu.org>
1382         PR fortran/56385
1383         * trans-array.c (structure_alloc_comps): Handle procedure-pointer
1384         components with allocatable result.
1386 2013-02-21  Tobias Burnus  <burnus@net-b.de>
1388         PR fortran/56416
1389         * gfortran.texi (Part II: Language Reference, Extensions,
1390         Non-Fortran Main Program): Sort @menu to match actual section order.
1391         * intrinsic.texi (Intrinsic Procedures): Ditto.
1392         (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
1394 2013-02-15  Tobias Burnus  <burnus@net-b.de>
1395             Mikael Morin  <mikael@gcc.gnu.org>
1397         PR fortran/56318
1398         * simplify.c (gfc_simplify_matmul): Fix result shape
1399         and matmul result.
1401 2013-02-15  Tobias Burnus  <burnus@net-b.de>
1403         PR fortran/53818
1404         * resolve.c (apply_default_init_local): Don't create an
1405         initializer for a result variable.
1407 2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1409         PR fortran/56224
1410         * gfortran.h (gfc_add_include_path):  Add boolean argument
1411         for warn.
1412         * scanner.c (gfc_add_include_path):  Pass along warn argument
1413         to add_path_to_list.
1414         * options.c (gfc_post_options):  Add true warn argument to
1415         gfc_add_include_path.
1416         (gfc_handle_module_path_options):  Likewise.
1417         (gfc_handle_option): Also gfc_add_include_path for intrinsic
1418         modules, without warning.
1420 2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
1421             Tobias Burnus  <burnus@net-b.de>
1423         PR testsuite/56138
1424         * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
1425         results for functions without extra result variable.
1427         Revert:
1428         2013-01-30  Tobias Burnus  <burnus@net-b.de>
1430         PR fortran/56138
1431         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1432         results for functions without extra result variable.
1434 2013-02-12  Janus Weil  <janus@gcc.gnu.org>
1436         PR fortran/46952
1437         * resolve.c (resolve_call): Do not check deferred procedures for
1438         recursiveness.
1440 2013-02-09  Paul Thomas  <pault@gcc.gnu.org>
1442         PR fortran/55362
1443         * check.c (array_check): It is an error if a procedure is
1444         passed.
1446 2013-02-08  Mikael Morin  <mikael@gcc.gnu.org>
1448         PR fortran/54107
1449         * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
1450         to error_mark_node on entry.  Detect recursive types.  Build a variadic
1451         procedure type if the type is recursive.  Restore the initial
1452         backend_decl.
1454 2013-02-07  Tobias Burnus  <burnus@net-b.de>
1456         PR fortran/54339
1457         * gfortran.texi (Standards): Mention TS29113.
1458         (Varying Length Character): Mention deferred-length
1459         strings.
1460         (Fortran 2003 Status): Add unlimited polymorphic.
1461         (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
1462         (C Interop): Update the section about TS29113.
1464 2013-02-06  Paul Thomas  <pault@gcc.gnu.org>
1466         PR fortran/55789
1467         * trans-array.c (trans_array_constructor): Remove condition
1468         'dynamic' = true if the loop ubound is a VAR_DECL.
1470 2013-02-04  Paul Thomas  <pault@gcc.gnu.org>
1472         PR fortran/56008
1473         PR fortran/47517
1474         * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
1475         the lhs descriptor before it is modified for reallocation. Use
1476         it to deallocate allocatable components in the reallocation
1477         block.  Nullify allocatable components for newly (re)allocated
1478         arrays.
1480 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
1482         PR fortran/54195
1483         * resolve.c (resolve_typebound_procedures): Recurse through
1484         resolve_symbol.
1486 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
1488         PR fortran/54107
1489         PR fortran/54195
1490         * gfortran.h (struct gfc_symbol): New field 'resolved'.
1491         * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
1492         (resolve_symbol): Skip duplicate calls.  Don't check the current
1493         namespace.
1495 2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
1497         PR fortran/50627
1498         PR fortran/56054
1499         * decl.c (gfc_match_end):  Remove half-ready namespace
1500         from parent if the end of a block is missing.
1501         * parse.c (parse_module):  Do not put namespace into
1502         gsymbol on error.
1504 2013-01-30  Tobias Burnus  <burnus@net-b.de>
1506         PR fortran/56138
1507         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1508         results for functions without extra result variable.
1510 2013-01-29  Janus Weil  <janus@gcc.gnu.org>
1511             Mikael Morin  <mikael@gcc.gnu.org>
1513         PR fortran/54107
1514         * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
1515         (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
1516         gfc_expr_replace_comp): Delete.
1517         (gfc_sym_get_dummy_args): New prototype.
1518         * dependency.c (gfc_check_fncall_dependency): Use
1519         'gfc_sym_get_dummy_args'.
1520         * expr.c (gfc_is_constant_expr): Ditto.
1521         (replace_symbol,gfc_expr_replace_symbols,replace_comp,
1522         gfc_expr_replace_comp): Deleted.
1523         * frontend-passes.c (doloop_code,do_function): Use
1524         'gfc_sym_get_dummy_args'.
1525         * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
1526         gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
1527         gfc_check_typebound_override): Ditto.
1528         * module.c (MOD_VERSION): Bump module version.
1529         (mio_component): Do not read/write 'formal' and 'formal_ns'.
1530         * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
1531         copy formal args, but just keep a pointer to the interface.
1532         (resolve_function,resolve_call,resolve_typebound_generic_call,
1533         resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
1534         resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
1535         resolve_typebound_procedure,check_uop_procedure): Use
1536         'gfc_sym_get_dummy_args'.
1537         * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
1538         (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
1539         (gfc_sym_get_dummy_args): New function.
1540         * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
1541         Use 'gfc_sym_get_dummy_args'.
1542         * trans-decl.c (build_function_decl,create_function_arglist,
1543         build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
1544         add_argument_checking): Ditto.
1545         * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
1546         gfc_conv_statement_function): Ditto.
1547         * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
1548         * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
1550 2013-01-28  Tobias Burnus  <burnus@net-b.de>
1551             Mikael Morin  <mikael@gcc.gnu.org>
1553         PR fortran/53537
1554         * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
1555         interface block.
1556         (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
1557         * decl.c (gfc_match_data_decl): Ditto.
1558         (variable_decl): Remove undeclared type error.
1559         (gfc_match_import): Use renamed instead of original name.
1561 2013-01-27  Paul Thomas  <pault@gcc.gnu.org>
1563         PR fortran/55984
1564         PR fortran/56047
1565         * gfortran.h : Add associate_var to symbol_attr.
1566         * resolve.c (resolve_assoc_var): Set associate_var attribute.
1567         If the target class_ok is set, set it for the associate
1568         variable.
1569         * check.c (allocatable_check): Associate variables should not
1570         have the allocatable attribute even if their symbols do.
1571         * class.c (gfc_build_class_symbol): Symbols with associate_var
1572         set will always have a good class container.
1574 2013-01-23  Janus Weil  <janus@gcc.gnu.org>
1576         PR fortran/56081
1577         * resolve.c (resolve_select): Add argument 'select_type', reject
1578         non-scalar expressions.
1579         (resolve_select_type,resolve_code): Pass new argument to
1580         'resolve_select'.
1582 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1584         PR fortran/56052
1585         * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
1586         and DECL_IGNORED_P on select_type_temporary and don't set
1587         DECL_BY_REFERENCE.
1589 2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1591         PR fortran/55919
1592         * scanner.c (add_path_to_list): Copy path to temporary and strip
1593         trailing directory separators before calling stat().
1595 2013-01-17  Richard Biener  <rguenther@suse.de>
1597         * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
1598         dependent on sign of step, avoids repeated evaluation of
1599         step sign test.  Avoid undefined overflow issues by using unsigned
1600         arithmetic.
1602 2013-01-16  Janus Weil  <janus@gcc.gnu.org>
1604         PR fortran/55983
1605         * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
1606         asserting it.
1608 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
1609             Tobias Burnus  <burnus@net-b.de>
1611         PR driver/55884
1612         * lang.opt (fintrinsic-modules-path): Don't accept Joined.
1613         (fintrinsic-modules-path=): New.
1614         * options.c (gfc_handle_option, gfc_get_option_string,
1615         gfc_get_option_string): Handle the latter.
1617 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
1619         PR fortran/52865
1620         * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
1621         and use value of countm1 before the decrement in the condition.
1623 2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
1625         PR fortran/54286
1626         * expr.c (gfc_check_pointer_assign): Check for presence of
1627         's2' before using it.
1629 2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1631         PR fortran/55806
1632         * frontend-passes.c (optimize_reduction):  New function,
1633         including prototype.
1634         (callback_reduction):  Likewise.
1635         (gfc_run_passes):  Also run optimize_reduction.
1636         (copy_walk_reduction_arg):  New function.
1637         (dummy_code_callback):  New function.
1639 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
1641         PR fortran/55935
1642         * trans-expr.c (gfc_conv_structure): Call
1643         unshare_expr_without_location on the ctor elements.
1645 2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
1647         PR fortran/54286
1648         * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
1649         and rvalue interfaces are presented to gfc_compare_interfaces.
1650         Simplify references to interface names by using the symbols
1651         themselves. Call gfc_compare_interfaces with s1 and s2 inter-
1652         changed to overcome the asymmetry of this function. Do not
1653         repeat the check for the presence of s1 and s2.
1655 2013-01-12  Janus Weil  <janus@gcc.gnu.org>
1657         PR fortran/55072
1658         * trans-array.c (gfc_conv_array_parameter): No packing was done for
1659         full arrays of derived type.
1661 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
1663         PR fortran/55868
1664         * class.c (get_unique_type_string): Change $tar to STAR and
1665         replace sprintf by strcpy where there is no formatting.
1666         * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
1668 2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
1670         PR fortran/47203
1671         * module.c (check_for_ambiguous): Get the current program unit using
1672         gfc_current_ns.
1674 2013-01-09  Tobias Burnus  <burnus@net-b.de>
1676         PR fortran/55758
1677         * resolve.c (resolve_symbol): Reject non-C_Bool logicals
1678         in BIND(C) procedures with -std=f*.
1680 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
1682         PR fortran/55618
1683         * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
1684         character function arguments to elemental procedures in
1685         scalarization loops.
1687 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1689         PR fortran/55763
1690         * gfortran.h (gfc_check_assign_symbol): Update prototype.
1691         * decl.c (add_init_expr_to_sym, do_parm): Update call.
1692         * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
1693         improve error location; support components.
1694         (gfc_check_pointer_assign): Handle component assignments.
1695         * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
1696         (resolve_values): Update call.
1697         (resolve_structure_cons): Avoid double diagnostic.
1699 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1700             Thomas Koenig  <tkoenig@gcc.gnu.org>
1702         PR fortran/55852
1703         * expr.c (gfc_build_intrinsic_call): Avoid clashes
1704         with user's procedures.
1705         * gfortran.h (gfc_build_intrinsic_call): Update prototype.
1706         * simplify.c (gfc_simplify_size): Update call.
1707         * class.c (finalization_scalarizer, finalization_get_offset,
1708         finalizer_insert_packed_call, generate_finalization_wrapper):
1709         Clean up by using gfc_build_intrinsic_call.
1711 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1713         PR fortran/55763
1714         * resolve.c (resolve_select_type): Reject intrinsic types for
1715         a non-unlimited-polymorphic selector.
1717 2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
1719         PR fortran/53876
1720         PR fortran/54990
1721         PR fortran/54992
1722         * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
1723         to see if it is GFC_CLASS_TYPE_P.
1724         * trans-expr.c (gfc_get_vptr_from_expr): The same.
1725         (gfc_conv_class_to_class): If the types are not the same,
1726         cast parmese->expr to the type of ctree.
1727         * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
1728         CLASS components must be set.
1730 2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
1732         PR fortran/42769
1733         PR fortran/45836
1734         PR fortran/45900
1735         * module.c (read_module): Don't reuse local symtree if the associated
1736         symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
1737         ambiguous.
1738         * resolve.c (resolve_call): Use symtree's name instead of symbol's to
1739         lookup the symtree.
1741 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
1742             Mikael Morin  <mikael@gcc.gnu.org>
1744         PR fortran/55827
1745         * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
1746         e->symtree == NULL.
1747         * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
1749 2013-01-05  Tobias Burnus  <burnus@net-b.de>
1751         * class.c (finalize_component): Used passed offset expr.
1752         (finalization_get_offset): New static function.
1753         (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
1754         to handle noncontiguous arrays.
1756 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1758         * trans.c (gfc_build_final_call): New function.
1759         * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
1760         New function prototypes.
1761         * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
1762         conv_scalar_to_descriptor, removed static attribute.
1763         (gfc_conv_procedure_call): Honor renaming.
1765 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1767         * intrinsic.c (add_functions): New internal intrinsic
1768         function GFC_PREFIX ("stride").
1769         * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
1770         * intrinsic.h (gfc_resolve_stride): New prototypes.
1771         * iresolve.c (gfc_resolve_stride): New function.
1772         * trans-intrinsic.c (conv_intrinsic_stride): New static
1773         function.
1774         (gfc_conv_intrinsic_function): Use it.
1776 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1778         * class.c (gfc_find_intrinsic_vtab): Add _final
1779         component.
1780         * decl.c (gfc_match_null): Remove superfluous
1781         variadic argument to gfc_match.
1783 2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
1785         PR fortran/55172
1786         * match.c (copy_ts_from_selector_to_associate): Remove call to
1787         gfc_resolve_expr and replace it with explicit setting of the
1788         array reference type.
1789         * resolve.c (resolve_select_type): It is an error if the
1790         selector is coindexed.
1792 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1794         PR fortran/55763
1795         * decl.c (gfc_match_null): Parse and reject MOLD.
1797 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1799         PR fortran/55854
1800         PR fortran/55763
1801         * class.c (gfc_class_null_initializer): Fix finding the vtab.
1802         (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
1804 2013-01-03  Janus Weil  <janus@gcc.gnu.org>
1806         PR fortran/55855
1807         * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
1808         of rvalue. Correct hyphenation in error message.
1810 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1812         * gfortranspec.c (lang_specific_driver): Update copyright notice
1813         dates.
1815 Copyright (C) 2013 Free Software Foundation, Inc.
1817 Copying and distribution of this file, with or without modification,
1818 are permitted in any medium without royalty provided the copyright
1819 notice and this notice are preserved.