2013-12-10 Janus Weil <janus@gcc.gnu.org>
[official-gcc.git] / gcc / fortran / ChangeLog
blob642e4191d8b55820f97ca049a4436de44010c85d
1 2013-12-10  Janus Weil  <janus@gcc.gnu.org>
3         * gfortran.texi: Modify documentation of kind type parameters.
4         * invoke.texi: Extend documentation of -fdefault-integer-8 and
5         -fdefault-real-8.
7 2013-12-10  Janus Weil  <janus@gcc.gnu.org>
9         * invoke.texi: Add -freal-4-real-16. Rearrange kind promotion options.
11 2013-12-08  Tobias Burnus  <burnus@net-b.de>
12             Janus Weil  <janus@gcc.gnu.org>
14         PR fortran/58099
15         PR fortran/58676
16         PR fortran/41724
17         * resolve.c (gfc_resolve_intrinsic): Set elemental/pure.
18         (resolve_fl_procedure): Reject pure dummy procedures/procedure
19         pointers.
20         (gfc_explicit_interface_required): Don't require a
21         match of ELEMENTAL for intrinsics.
23 2013-12-07  Janus Weil  <janus@gcc.gnu.org>
25         PR fortran/59414
26         * resolve.c (resolve_specific_f0): Handle CLASS-valued functions.
28 2013-12-04  Tobias Burnus  <burnus@net-b.de>
30         PR debug/37132
31         * trans-decl.c (generate_namelist_decl, create_module_nml_decl):
32         New static functions.
33         (gfc_generate_module_vars, generate_local_vars): Call them.
34         (gfc_trans_use_stmts): Handle namelists for debug genertion.
36 2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
38         PR fortran/57354
39         * trans-array.c (gfc_conv_resolve_dependencies): For other than
40         SS_SECTION, do a dependency check if the lhs is liable to be
41         reallocated.
43 2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
45         PR fortran/58410
46         * trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
47         use the array bounds of an unallocated array but set its size
48         to zero instead.
50 2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
52         PR fortran/34547
53         * resolve.c (resolve_transfer): EXPR_NULL is always in an
54         invalid context in a transfer statement.
56 2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
58         * lang.opt (Wopenmp-simd): New.
60 2013-11-25  Janus Weil  <janus@gcc.gnu.org>
62         PR fortran/59143
63         * interface.c (get_expr_storage_size): Handle array-valued type-bound
64         procedures.
66 2013-11-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
68         * scanner.c (gfc_open_intrinsic_module): Remove function.
69         * gfortran.h (gfc_open_intrinsic_module): Remove prototype.
71 2013-11-23  Janus Weil  <janus@gcc.gnu.org>
73         PR fortran/59228
74         * interface.c (compare_parameter): Check for array spec.
76 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
78         * trans.c: Add required include files from gimple.h.
79         * trans-expr.c: Likewise
80         * trans-openmp.c: Likewise
82 2013-11-22  David Malcolm  <dmalcolm@redhat.com>
84         * trans.c (trans_runtime_error_vararg): Remove use of input_line
85         macro.
87 2013-11-17  Andrew MacLeod  <amacleod@redhat.com>
89         * fortran/trans-intrinsic.c: Include tree-nested.h.
91 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
93         * trans-expr.c: Include only gimplify.h and gimple.h as needed.
94         * trans-openmp.c: Likewise.
96 2013-11-14  Diego Novillo  <dnovillo@google.com>
98         * decl.c: Include stringpool.h.
99         * iresolve.c: Include stringpool.h.
100         * match.c: Include stringpool.h.
101         * module.c: Include stringpool.h.
102         * target-memory.c: Include stor-layout.h.
103         * trans-common.c: Include stringpool.h.
104         Include stor-layout.h.
105         Include varasm.h.
106         * trans-const.c: Include stor-layout.h.
107         * trans-decl.c: Include stringpool.h.
108         Include stor-layout.h.
109         Include varasm.h.
110         Include attribs.h.
111         * trans-expr.c: Include stringpool.h.
112         * trans-intrinsic.c: Include stringpool.h.
113         Include tree-nested.h.
114         Include stor-layout.h.
115         * trans-io.c: Include stringpool.h.
116         Include stor-layout.h.
117         * trans-openmp.c: Include stringpool.h.
118         * trans-stmt.c: Include stringpool.h.
119         * trans-types.c: Include stor-layout.h.
120         Include stringpool.h.
121         * trans.c: Include stringpool.h.
123 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
125         * f95-lang.c: Don't include gimple.h.
126         * trans-array.c: Include gimple-expr.h instead of gimple.h.
127         * trans.c: Likewise.
128         * trans-decl.c: Likewise.
129         * trans-expr.c: Include gimplify.h.
130         * trans-openmp.c: Likewise.
132 2013-11-07  Janus Weil  <janus@gcc.gnu.org>
134         PR fortran/58471
135         * primary.c (gfc_expr_attr): Check for result symbol.
137 2013-11-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
139         * gfortran.texi: Fix typo.
141 2013-11-05  Tobias Burnus  <burnus@net-b.de>
143         * lang.opt (-Wdate-time): New option
144         * cpp.c (gfc_cpp_option_data): Add warn_date_time.
145         (gfc_cpp_init_options, gfc_cpp_handle_option,
146         gfc_cpp_post_options): Handle it and pass on to libcpp.
148 2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
150         PR fortran/58989
151         * check.c (gfc_check_reshape): ensure that shape is a constant
152         expression.
154 2013-11-05  Tobias Burnus  <burnus@net-b.de>
156         * lang.opt (fopenmp-simd): New option.
157         * gfortran.h (gfc_option_t): Add gfc_flag_openmp_simd.
158         * options.c (gfc_handle_option): Handle it.
160 2013-11-04  Ian Lance Taylor  <iant@google.com>
162         * f95-lang.c (ATTR_LEAF_LIST): Define.
164 2013-11-04  Paul Thomas  <pault@gcc.gnu.org>
166         PR fortran/58771
167         * trans-io.c (transfer_expr): If the backend_decl for a derived
168         type is missing, build it with gfc_typenode_for_spec.
170 2013-11-04  Paul Thomas  <pault@gcc.gnu.org>
172         PR fortran/57445
173         * trans-expr.c (gfc_conv_class_to_class): Remove spurious
174         assert.
176 2013-10-29  Tobias Burnus  <burnus@net-b.de>
178         PR fortran/44350
179         * parse.c (parse_spec): Add C1116 constraint
180         check for BLOCK DATA.
182 2013-10-29  Paul Thomas  <pault@gcc.gnu.org>
184         PR fortran/58793
185         * trans-types.c (gfc_typenode_for_spec): Add typenode for
186         BT_HOLLERITH. Note that the length is incorrect but unusable.
188         PR fortran/58858
189         * target-memory.c (gfc_element_size): Add element sizes for
190         BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec.
192 2013-10-24  Tobias Burnus  <burnus@net-b.de>
194         PR fortran/44646
195         * trans-stmt.c (struct forall_info): Add do_concurrent field.
196         (gfc_trans_forall_1): Set it for do concurrent.
197         (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind.
199 2013-10-23  Tobias Burnus  <burnus@net-b.de>
201         PR fortran/58793
202         * interface.c (compare_parameter): Reject passing TYPE(*)
203         to CLASS(*).
205 2013-10-22  Paul Thomas  <pault@gcc.gnu.org>
207         PR fortran 57893
208         * class.c : Include target-memory.h.
209         (gfc_find_intrinsic_vtab) Build a minimal expression so that
210         gfc_element_size can be used to obtain the storage size, rather
211         that the kind value.
213 2013-10-21  Tobias Burnus  <burnus@net-b.de>
215         PR fortran/58803
216         * decl.c (match_ppc_decl): Prevent later
217         double free.
219 2013-10-17  Andrew MacLeod  <amacleod@redhat.com>
221         * trans-openmp.c: Include omp-low.h.
223 2013-10-16  Tobias Burnus  <burnus@net-b.de>
225         PR fortran/58652
226         * interface.c (compare_parameter): Accept passing CLASS(*)
227         to CLASS(*).
229 2013-10-16  Tobias Burnus  <burnus@net-b.de>
231         * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
232         Document omp_proc_bind_kind.
234 2013-10-15  Tobias Burnus  <burnus@net-b.de>
236         PR fortran/58652
237         * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
238         of CLASS(*) variables.
240 2013-10-14  Tobias Burnus  <burnus@net-b.de>
242         PR fortran/58658
243         * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
244         for CLASS(*).
246 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
248         * trans-openmp.c (gfc_omp_clause_default_ctor,
249         gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION.
250         * f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define.
251         * types.def (DEF_FUNCTION_TYPE_8): Document.
252         (BT_FN_VOID_OMPFN_PTR_UINT,
253         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
254         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
255         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
256         (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
257         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
258         BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
259         BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
260         BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
261         BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
262         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
264 2013-10-10  Tobias Burnus  <burnus@net-b.de>
266         PR fortran/58226
267         * options.c (gfc_get_option_string): Handle zero arg case.
269 2013-10-02  Tobias Burnus  <burnus@net-b.de>
271         PR fortran/58593
272         * trans-expr.c (gfc_conv_string_tmp): Fix obtaining
273         the byte size of a single character.
275 2013-10-01  Tobias Burnus  <burnus@net-b.de>
277         PR fortran/58579
278         * trans-expr.c (gfc_conv_string_tmp): Correctly obtain
279         the byte size of a single character.
281 2013-09-27  Janne Blomqvist  <jb@gcc.gnu.org>
283         * intrinsic.texi (DATE_AND_TIME): Fix example.
285 2013-09-25  Tobias Burnus  <burnus@net-b.de>
287         PR fortran/58436
288         * class.c (generate_finalization_wrapper): Handle CLASS(*).
290 2013-09-25  Tobias Burnus  <burnus@net-b.de>
292         PR fortran/57697
293         PR fortran/58469
294         * resolve.c (generate_component_assignments): Avoid double free
295         at runtime and freeing a still-being used expr.
297 2013-09-25  Tom Tromey  <tromey@redhat.com>
299         * Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
300         (gfortranspec.o): Remove.
301         (CFLAGS-fortran/gfortranspec.o): New variable.
302         (GFORTRAN_D_OBJS): Update.
303         ($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
304         (fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
305         (fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
306         (fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
307         (fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
308         (fortran/trans-array.o, fortran/trans-intrinsic.o)
309         (fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
310         (fortran/data.o, fortran/options.o, fortran/cpp.o)
311         (fortran/scanner.o, fortran/module.o): Remove.
313 2013-09-25  Tom Tromey  <tromey@redhat.com>
315         * Make-lang.in (gfortranspec.o): Don't use subshell.
317 2013-09-23  Janus Weil  <janus@gcc.gnu.org>
319         PR fortran/58355
320         * decl.c (check_extended_derived_type): Prevent segfault, modify error
321         message.
323 2013-09-20  Janus Weil  <janus@gcc.gnu.org>
325         PR fortran/58099
326         * expr.c (gfc_check_pointer_assign): Remove second call to
327         'gfc_compare_interfaces' with swapped arguments.
328         * interface.c (gfc_compare_interfaces): Symmetrize the call to
329         'check_result_characteristics' by calling it with swapped arguments.
331 2013-09-18  Tobias Burnus  <burnus@net-b.de>
333         * expr.c (gfc_check_assign_symbol): Free lvalue.ref.
335 2013-09-18  Tobias Burnus  <burnus@net-b.de>
337         PR fortran/43366
338         * primary.c (gfc_variable_attr): Also handle codimension.
339         * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic for
340         polymorphic assignment.
342 2013-09-16  Tobias Burnus  <burnus@net-b.de>
344         PR fortran/58356
345         * class.c (generate_finalization_wrapper): Init proc_tree if
346         not yet resolved.
348 2013-09-16  Tobias Burnus  <burnus@net-b.de>
350         PR fortran/57697
351         * resolve.c (generate_component_assignments): Correctly handle the
352         case that the LHS is not allocated.
354 2013-09-15  Tobias Burnus  <burnus@net-b.de>
356         PR fortran/57697
357         * resolve.c (generate_component_assignments): Handle unallocated
358         LHS with defined assignment of components.
360 2013-09-12  Brooks Moses  <bmoses@google.com>
362         PR driver/42955
363         * Make-lang.in: Do not install driver binaries in $(target)/bin.
365 2013-09-09  Tobias Burnus  <burnus@net-b.de>
367         * invoke.texi (Error and Warning Options): Add hyphen.
369 2013-09-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
371         PR fortran/PR56519
372         * gfortran.h:  Declare gfc_do_concurrent_flag as extern.
373         * resolve.c:  Rename do_concurrent_flag to gfc_do_concurrent_flag
374         and make non-static.
375         (resolve_function):  Use gfc_do_concurrent_flag instead of
376         do_concurrent_flag.
377         (pure_subroutine):  Likewise.
378         (resolve_code):  Likewise.
379         (resolve_types):  Likewise.
380         * intrinsic.c (gfc_intrinsic_sub_interface):  Raise error for
381         non-pure intrinsic subroutines within DO CONCURRENT.
383 2013-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
385         PR fortran/52243
386         * trans-expr.c (is_runtime_conformable):  New function.
387         * gfc_trans_assignment_1:  Use it.
389 2013-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
391         PR fortran/58146
392         * array.c (gfc_ref_dimen_size):  If possible, use
393         gfc_dep_difference to calculate array refrence
394         sizes.  Fall back to integer code otherwise.
395         * dependency.c (discard_nops).  Move up.
396         Also discarde widening integer conversions.
397         (gfc_dep_compare_expr):  Use discard_nops.
399 2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
401         PR fortran/57798
402         * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
403         gfc_set_delta): Generate preliminary code before the outermost loop.
405 2013-08-23  Janus Weil  <janus@gcc.gnu.org>
407         PR fortran/57843
408         * interface.c (gfc_extend_assign): Look for type-bound assignment
409         procedures before non-typebound.
411 2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
413         * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
414         to the callers.
415         (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
417 2013-08-22  Janus Weil  <janus@gcc.gnu.org>
419         PR fortran/58185
420         * match.c (copy_ts_from_selector_to_associate): Only build class
421         container for polymorphic selector. Some cleanup.
423 2013-08-20  Janus Weil  <janus@gcc.gnu.org>
425         PR fortran/53655
426         * trans-decl.c (generate_local_decl): Check if type has any components.
428 2013-08-19  Janus Weil  <janus@gcc.gnu.org>
430         PR fortran/46271
431         * openmp.c (resolve_omp_clauses): Bugfix for procedure pointers.
433 2013-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
435         PR fortran/56666
436         * gfortran.h (gfc_option_t):  Add warn_zerotrip.
437         * invoke.texi (-Wzerotrip):  Document option.
438         * lang.opt (Wzerotrip):  Add.
439         * options.c (gfc_init_options):  Initialize warn_zerotrip.
440         (set_Wall): Add handling of warn_zerotrip.
441         (gfc_handle_option):  Handle OPT_Wzerotrip.
442         * resolve.c (gfc_resolve_iterator): Honor
443         gfc_option.warn_zerotrip; update error message to show
444         how to suppress the warning.
446 2013-08-09  Janus Weil  <janus@gcc.gnu.org>
448         * gfortran.h (gfc_get_code): Modified prototype.
449         * class.c (finalize_component, finalization_scalarizer,
450         finalization_get_offset, finalizer_insert_packed_call,
451         generate_finalization_wrapper, gfc_find_derived_vtab,
452         gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
453         * io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
454         gfc_match_inquire): Call 'gfc_get_code' with argument.
455         * match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
456         gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
457         Ditto.
458         * parse.c (new_level): Ditto.
459         (add_statement): Use XCNEW.
460         * resolve.c (resolve_entries, resolve_allocate_expr,
461         resolve_select_type, build_assignment, build_init_assign): Call
462         'gfc_get_code' with argument.
463         * st.c (gfc_get_code): Add argument 'op'.
464         * trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
465         with argument.
466         * trans-stmt.c (gfc_trans_allocate): Ditto.
468 2013-08-09  Janus Weil  <janus@gcc.gnu.org>
470         PR fortran/58058
471         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
472         string, if necessary.
474 2013-08-06  Martin Jambor  <mjambor@suse.cz>
476         PR fortran/57987
477         * trans-decl.c (gfc_generate_function_code): Never call
478         cgraph_finalize_function on nested functions.
480 2013-08-06  Janus Weil  <janus@gcc.gnu.org>
482         PR fortran/57306
483         * class.c (gfc_class_null_initializer): Rename to
484         'gfc_class_initializer'. Treat non-NULL init-exprs.
485         * gfortran.h (gfc_class_null_initializer): Update prototype.
486         * trans-decl.c (gfc_get_symbol_decl): Treat class variables.
487         * trans-expr.c (gfc_conv_initializer): Ditto.
488         (gfc_trans_subcomponent_assign): Renamed gfc_class_null_initializer.
490 2013-07-30  Tobias Burnus  <burnus@net-b.de>
492         PR fortran/57530
493         * symbol.c (gfc_type_compatible): A type is type compatible with
494         a class if both have the same declared type.
495         * interface.c (compare_type): Reject CLASS/TYPE even if they
496         are type compatible.
498 2013-07-30  Tobias Burnus  <burnus@net-b.de>
500         PR fortran/57530
501         * trans-expr.c (gfc_trans_class_assign): Handle CLASS array
502         functions.
503         (gfc_trans_pointer_assign): Ditto and support pointer assignment of
504         a polymorphic var to a nonpolymorphic var.
506 2013-07-22  Po Chang  <pchang9@cs.wisc.edu>
508         * match.c (gfc_match_call): Exit loop after setting i.
510         * resolve.c (resolve_variable): Exit loop after setting seen.
512         * expr.c (gfc_check_pointer_assign): Exit loop after setting warn.
514         * trans-array.c (set_loop_bounds): Exit loop after setting
515         nonoptional_arr.
517         * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector.
519 2013-07-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
521         PR fortran/58009
522         * expr.c (gfc_check_vardef_context):  Check for same values in
523         vector expression subscripts.
525 2013-07-27  Tobias Burnus  <burnus@net-b.de>
527         PR fortran/57991
528         * interface.c (check_some_aliasing): Also warn for intent OUT/OUT.
530 2013-07-27  Janus Weil  <janus@gcc.gnu.org>
532         PR fortran/57285
533         * check.c (dim_rank_check): Re-enable this check for CLASS arrays.
535 2013-07-25  Janus Weil  <janus@gcc.gnu.org>
537         PR fortran/57966
538         * resolve.c (resolve_typebound_function): Make sure the declared type,
539         including its type-bound procedures, is resolved before resolving the
540         actual type-bound call.
542 2013-07-25  Janus Weil  <janus@gcc.gnu.org>
544         PR fortran/57639
545         * interface.c (compare_parameter): Check for class_ok.
546         * simplify.c (gfc_simplify_same_type_as): Ditto.
548 2013-07-23   OndÅ™ej Bílka  <neleai@seznam.cz>
550         * decl.c: Fix comment typos.
551         * interface.c: Likewise.
552         * trans-array.c: Likewise.
553         * trans.c: Likewise.
555 2013-07-22  Tobias Burnus  <burnus@net-b.de>
557         PR fortran/57906
558         PR fortran/52052
559         * class.c (gfc_build_class_symbol): Set coarray_comp.
560         * trans-array.c (structure_alloc_comps): For coarrays,
561         directly use the data pointer address.
563 2013-07-22  Chang  <pchang9@cs.wisc.edu>
565         * trans-decl.c (gfc_build_dummy_array_decl): Exit loop after
566         setting PACKED_PARTIAL.
568 2013-07-22  Tobias Burnus  <burnus@net-b.de>
570         * trans-array.c (gfc_array_allocate): Correct memory-leak patch.
572 2013-07-22  Tobias Burnus  <burnus@net-b.de>
574         * trans-array.c (gfc_array_allocate,
575         gfc_trans_deferred_array): Plug memory leak.
577 2013-07-21  OndÅ™ej Bílka  <neleai@seznam.cz>
579         * trans-decl.c: Fix comment typos.
580         * trans-expr.c: Ditto.
582 2013-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
584         PR fortran/56937
585         * dependency.c (gfc_dep_resolver):  Treat identical
586         array subscripts as identical; don't unconditionally
587         return a dependency if an array subscript is found.
589 2013-07-21  Tobias Burnus  <burnus@net-b.de>
591         PR fortran/35862
592         * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
593         GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.
595 2013-07-21  Tobias Burnus  <burnus@net-b.de>
597         PR fortran/57894
598         * check.c (min_max_args): Add keyword= check.
600 2013-07-17  Mikael Morin  <mikael@gcc.gnu.org>
601             Tobias Burnus  <burnus@net-b.de>
603         PR fortran/57895
604         * match.c (gfc_match_name): Ensure that the error
605         message regarding -fdollar-ok gets printed.
606         (gfc_match_common): Avoid multiple freeing.
608 2013-07-16  Tobias Burnus  <burnus@net-b.de>
610         PR fortran/57912
611         * trans-expr.c (gfc_trans_scalar_assign): Correct if
612         condition for caf realloc.
614 2013-07-15  Tobias Burnus  <burnus@net-b.de>
616         * trans-array.h (gfc_deallocate_alloc_comp_no_caf,
617         gfc_reassign_alloc_comp_caf): New prototype.
618         * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
619         and COPY_ALLOC_COMP_CAF.
620         (structure_alloc_comps): Handle it.
621         (gfc_reassign_alloc_comp_caf,
622         gfc_deallocate_alloc_comp_no_caf): New function.
623         (gfc_alloc_allocatable_for_assignment): Call it.
624         * trans-expr.c (gfc_trans_scalar_assign,
625         gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
626         * parse.c (parse_derived): Correctly set coarray_comp.
627         * resolve.c (resolve_symbol): Improve error wording.
629 2013-07-15  Tobias Burnus  <burnus@net-b.de>
631         PR fortran/37336
632         * trans.c (gfc_add_comp_finalizer_call): New function.
633         * trans.h (gfc_add_comp_finalizer_call): New prototype.
634         * trans-array.c (structure_alloc_comps): Call it.
636 2013-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
637             Tobias Burnus  <burnus@gcc.gnu.org>
639         PR fortran/52669
640         * trans-decl.c (gfc_finish_var_decl):  Move setting of
641         PRIVATE for a module variable if the module has a private
642         default or -fmodule-private is given to...
643         (gfc_create_module_variable): here. Optionally
644         warn about private module variable which is not used.
646 2013-07-08  Tobias Burnus  <burnus@net-b.de>
648         PR fortran/57834
649         * check.c (is_c_interoperable): Add special case for c_f_pointer.
650         (explicit-size, gfc_check_c_f_pointer, gfc_check_c_loc): Update
651         call.
653 2013-07-08  Tobias Burnus  <burnus@net-b.de>
655         PR fortran/50554
656         * io.c (match_inquire_element): Add missing do-var check.
658 2013-07-08  Tobias Burnus  <burnus@net-b.de>
660         PR fortran/57785
661         * simplify.c (compute_dot_product): Complex conjugate for
662         dot_product.
663         (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
665 2013-07-08  Tobias Burnus  <burnus@net-b.de>
667         PR fortran/57469
668         * trans-decl.c (generate_local_decl): Don't warn that
669         a dummy is unused, when it is in a namelist.
671 2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
673         PR fortran/54788
674         * array.c (spec_size): handle the case as==NULL.
676 2013-06-26  Tobias Burnus  <burnus@net-b.de>
678         PR fortran/29800
679         * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
680         diagnostic message.
681         * trans-array.c (gfc_conv_array_ref): Update prototype.
682         * trans-expr.c (gfc_conv_variable): Update call.
684 2013-06-24  Steven G. Kargl  <sgk@troutmask.apl.washington.edu>
685             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
686             Dominique d'Humieres  <dominiq@lps.ens.fr>
688         PR fortran/52413
689         * simplify.c (gfc_simplify_fraction): Fix the sign of negative values.
691 2013-06-21  Tobias Burnus  <burnus@net-b.de>
693         PR fortran/37336
694         * trans-array.c (gfc_trans_deferred_array): Call the
695         finalizer for nonallocatable local variables.
696         * trans-decl.c (gfc_get_symbol_decl): Add local
697         finalizable vars to the deferred list.
698         (gfc_trans_deferred_vars): Call gfc_trans_deferred_array
699         for those.
701 2013-06-21  Tobias Burnus  <burnus@net-b.de>
703         * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
704         at least one byte.
705         * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.
707 2013-06-20  Tobias Burnus  <burnus@net-b.de>
709         * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.
711 2013-06-17  Tobias Burnus  <burnus@net-b.de>
713         * gfortran.h (gfc_option_t): Add fpe_summary.
714         * gfortran.texi (_gfortran_set_options): Update.
715         * invoke.texi (-ffpe-summary): Add doc.
716         * lang.opt (ffpe-summary): Add flag.
717         * options.c (gfc_init_options, gfc_handle_option): Handle it.
718         (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
719         also handle fpe_summary.
720         * trans-decl.c (create_main_function): Update
721         _gfortran_set_options call.
723 2013-06-15  Mikael Morin  <mikael@gcc.gnu.org>
725         PR fortran/49074
726         PR fortran/56136
727         * dependency.c (gfc_check_argument_var_dependency): Return 0 in the
728         array constructor case.
730 2013-06-14  Tobias Burnus  <burnus@net-b.de>
732         PR fortran/57508
733         * resolve.c (get_temp_from_expr): Don't copy function
734         result attributes to temporary.
736 2013-06-14  Tobias Burnus  <burnus@net-b.de>
738         PR fortran/57596
739         * trans-decl.c (gfc_trans_deferred_vars): Honor OPTIONAL
740         for nullify and deferred-strings' length variable.
742 2013-06-13  Mikael Morin  <mikael@gcc.gnu.org>
744         PR fortran/49074
745         * trans-expr.c (gfc_conv_variable): Don't walk the reference chain.
746         Handle NULL array references.
747         (gfc_conv_procedure_call): Remove code handling NULL array references.
749 2013-06-11  Tobias Burnus  <burnus@net-b.de>
751         PR fortran/57535
752         * trans-array.c (build_class_array_ref): Fix ICE for
753         function result variables.
755 2013-06-08  Tobias Burnus  <burnus@net-b.de>
757         PR fortran/37336
758         * trans-decl.c (init_intent_out_dt): Call finalizer
759         when appropriate.
761 2013-06-08  Tobias Burnus  <burnus@net-b.de>
763         PR fortran/57553
764         * simplify.c (gfc_simplify_storage_size): Handle literal
765         strings.
766         * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
767         Add missing fold_convert.
769 2013-06-07  Tobias Burnus  <burnus@net-b.de>
771         PR fortran/57549
772         * array.c (gfc_match_array_constructor): Call
773         gfc_match_type_spec instead of gfc_match_decl_type_spec.
774         * match.c (gfc_match_type_spec): Renamed from match_type_spec.
775         (gfc_match_type_is, gfc_match_allocate): Update call.
776         * match.h (gfc_match_type_spec): Add prototype.
778 2013-06-07  Tobias Burnus  <burnus@net-b.de>
780         PR fortran/57556
781         * trans.c (gfc_build_final_call): Init block before use.
783 2013-06-06  Tobias Burnus  <burnus@net-b.de>
785         PR fortran/57542
786         * trans.c (gfc_build_final_call): Add se.pre to the block
787         and modify the assert.
789 2013-06-04  Tobias Burnus  <burnus@net-b.de>
791         PR fortran/37336
792         * trans.h (gfc_build_final_call): Remove prototype.
793         (gfc_add_finalizer_call): Add prototype.
794         * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
795         (structure_alloc_comps): Update caller.
796         (gfc_trans_deferred_array): Call finalizer.
797         * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
798         * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
799         variables of the main program.
800         * trans-expr.c (gfc_conv_procedure_call): Support finalization.
801         * trans-openmp.c (gfc_omp_clause_dtor,
802         gfc_trans_omp_array_reduction): Update calls.
803         * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
804         of alloc components.
805         * trans.c (gfc_add_finalizer_call): New function.
806         (gfc_deallocate_with_status,
807         gfc_deallocate_scalar_with_status): Call it
808         (gfc_build_final_call): Fix handling of scalar coarrays,
809         move up in the file and make static.
811 2013-06-01  Janus Weil  <janus@gcc.gnu.org>
812             Mikael Morin  <mikael@gcc.gnu.org>
814         * error.c (get_terminal_width): Only limit the width if we're
815         outputting to a terminal. Try to determine width via ioctl.
817 2013-06-01  Tobias Burnus  <burnus@net-b.de>
819         * decl.c (add_global_entry): Take locus.
820         (gfc_match_entry): Update call.
821         (gfc_match_end): Better error location.
822         * parse.c (parse_block_data, parse_module, add_global_procedure,
823         add_global_program): Use better locus data.
825 2013-05-31  Tobias Burnus  <burnus@net-b.de>
827         PR fortran/57456
828         * trans-array.c (gfc_array_init_size): Use passed type spec,
829         when available.
830         (gfc_array_allocate): Pass typespec on.
831         * trans-array.h (gfc_array_allocate): Update prototype.
832         * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
834 2013-05-31  Janus Weil  <janus@gcc.gnu.org>
836         PR fortran/54190
837         PR fortran/57217
838         * gfortran.h (gfc_terminal_width): Remove prototype.
839         * error.c (get_terminal_width): Moved here from misc.c. Renamed.
840         Try to determine terminal width from environment variable.
841         * interface.c (compare_type, compare_rank): New functions. Fix assumed
842         type/rank handling.
843         (compare_type_rank, check_dummy_characteristics,
844         check_result_characteristics, gfc_compare_interfaces): Use them.
845         (symbol_rank): Slightly modified and moved.
846         * misc.c (gfc_terminal_width): Moved to error.c.
848 2013-05-30  Janus Weil  <janus@gcc.gnu.org>
850         PR fortran/54189
851         * resolve.c (check_assumed_size_reference): Check for e->ref.
853 2013-05-30  Tobias Burnus  <burnus@net-b.de>
855         PR fortran/57458
856         * interface.c (compare_parameter): Update C1239/C1240 constraint
857         check for assumed-rank/TS29113.
859 2013-05-29  Tobias Burnus  <burnus@net-b.de>
861         PR fortran/37336
862         * class.c (finalize_component): Fix coarray array refs.
863         (generate_finalization_wrapper): Only gfc_convert_type_warn
864         when the kind value is different.
865         (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
866         (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
867         generation.
868         * module.c (MOD_VERSION): Bump.
869         (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
870         * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
871         void pointer.
872         (gfc_array_allocate, structure_alloc_comps): Don't nullify for
873         BT_CLASS allocations.
874         * trans-stmt.c (gfc_trans_allocate): Ditto.
876 2013-05-29  Tobias Burnus  <burnus@net-b.de>
878         PR fortran/37336
879         * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
881 2013-05-28  Tobias Burnus  <burnus@net-b.de>
883         * trans-expr.c (gfc_conv_procedure_call): Deallocate
884         polymorphic arrays for allocatable intent(out) dummies.
885         (gfc_reset_vptr): New function, moved from trans-stmt.c
886         and extended.
887         * trans-stmt.c (reset_vptr): Remove.
888         (gfc_trans_deallocate): Update calls.
889         * trans.h (gfc_reset_vptr): New prototype.
891 2013-05-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
893         PR fortran/57435
894         * module.c (check_for_ambiguous): Avoid null pointer deref.
896 2013-05-28  Janus Weil  <janus@gcc.gnu.org>
897             Tobias Burnus  <burnus@net-b.de>
899         PR fortran/57217
900         * interface.c (check_dummy_characteristics): Symmetrize type check.
902 2013-05-27  Bud Davis  <jmdavis@link.com>
904         PR fortran/50405
905         * resolve.c (resolve_formal_arglist): Detect error when an argument
906         has the same name as the function.
908 2013-05-27  Tobias Burnus  <burnus@net-b.de>
910         * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
911         * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
913 2013-05-22  Tobias Burnus  <burnus@net-b.de>
915         * resolve.c (get_temp_from_expr): Change mangling to
916         start always with a _.
918 2013-05-22  Tobias Burnus  <burnus@net-b.de>
920         * resolve.c (get_temp_from_expr): Fix temp var mangling.
922 2013-05-22  Tobias Burnus  <burnus@net-b.de>
924         PR fortran/57364
925         * resolve.c (get_temp_from_expr): Commit created sym.
927 2013-05-22  Tobias Burnus  <burnus@net-b.de>
929         PR fortran/57338
930         * intrinsic.c (do_check): Move some checks to ...
931         (do_ts29113_check): ... this new function.
932         (check_specific, gfc_intrinsic_sub_interface): Call it.
934 2013-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
936         * intrinsic.texi (RANDOM_SEED): Improve example.
938 2013-05-21  Tobias Burnus  <burnus@net-b.de>
940         PR fortran/57035
941         * intrinsic.c (do_check): Add constraint check for
942         NO_ARG_CHECK, assumed rank and assumed type.
943         * gfortran.texi (NO_ARG_CHECK): Minor wording change,
944         allow PRESENT intrinsic.
946 2013-05-20  Tobias Burnus  <burnus@net-b.de>
948         PR fortran/48858
949         PR fortran/55465
950         * decl.c (add_global_entry): Add sym_name.
951         * parse.c (add_global_procedure): Ditto.
952         * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
953         a procedure.
954         (resolve_global_procedure): Handle gsym->ns pointing to a module.
955         * trans-decl.c (gfc_get_extern_function_decl): Ditto.
957 2013-05-20  Tobias Burnus  <burnus@net-b.de>
959         PR fortran/48858
960         * decl.c (add_global_entry): Use nonbinding name
961         only for F2003 or if no binding label exists.
962         (gfc_match_entry): Update calls.
963         * parse.c (gfc_global_used): Improve error message.
964         (add_global_procedure): Use nonbinding name
965         only for F2003 or if no binding label exists.
966         (gfc_parse_file): Update call.
967         * resolve.c (resolve_global_procedure): Use binding
968         name when available.
969         * trans-decl.c (gfc_get_extern_function_decl): Ditto.
971 2013-05-20  Tobias Burnus  <burnus@net-b.de>
973         PR fortran/48858
974         * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
975         * match.c (gfc_match_common): Don't add commons to gsym.
976         * resolve.c (resolve_common_blocks): Add to gsym and
977         add checks.
978         (resolve_bind_c_comms): Remove.
979         (resolve_types): Remove call to the latter.
980         * trans-common.c (gfc_common_ns): Remove static var.
981         (gfc_map_of_all_commons): Add static var.
982         (build_common_decl): Correctly handle binding label.
984 2013-05-16  Jason Merrill  <jason@redhat.com>
986         * Make-lang.in (f951$(exeext)): Use link mutex.
988 2013-05-05  Tobias Burnus  <burnus@net-b.de>
990         * resolve.c (conformable_arrays): Avoid segfault
991         when ar.start[i] == NULL.
993 2013-05-05  Tobias Burnus  <burnus@net-b.de>
995         PR fortran/57141
996         * decl.c (gfc_match_null): Permit use-associated
997         NULL intrinsic.
999 2013-05-04  Tobias Burnus  <burnus@net-b.de>
1001         * decl.c (gfc_verify_c_interop_param): Permit allocatable
1002         and pointer with -std=f2008ts.
1004 2013-05-02  Tobias Burnus  <burnus@net-b.de>
1006         PR fortran/57142
1007         * simplify.c (gfc_simplify_size): Renamed from
1008         simplify_size; fix kind=8 handling.
1009         (gfc_simplify_size): New function.
1010         (gfc_simplify_shape): Add range check.
1011         * resolve.c (resolve_function): Fix handling
1012         for ISYM_SIZE.
1014 2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
1016         * frontend-passes.c (optimize_power):  Fix typo
1017         in comment.
1019 2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
1021         PR fortran/57071
1022         * frontend-passes.c (optimize_power):  Simplify
1023         1**k to 1.
1025 2013-04-28  Tobias Burnus  <burnus@net-b.de>
1027         PR fortran/57114
1028         * intrinsic.texi (RANK): Correct syntax description and
1029         expected result.
1031 2013-04-28  Tobias Burnus  <burnus@net-b.de>
1033         PR fortran/57093
1034         * trans-types.c (gfc_get_element_type): Fix handling
1035         of scalar coarrays of type character.
1036         * intrinsic.texi (PACK): Add missing ")".
1038 2013-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
1040         PR fortran/57071
1041         * frontend-passes (optimize_power):  New function.
1042         (optimize_op):  Use it.
1044 2013-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
1046         PR bootstrap/57028
1047         * Make-lang.in (f951): Link in ZLIB.
1048         (CFLAGS-fortran/module.o): Add zlib include directory.
1050 2013-04-22  Janus Weil  <janus@gcc.gnu.org>
1052         PR fortran/53685
1053         PR fortran/57022
1054         * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
1055         expressions.
1056         * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
1057         of special treatment for EXPR_ARRAY.
1058         * target-memory.h (gfc_element_size): New prototype.
1059         * target-memory.c (size_array): Remove.
1060         (gfc_element_size): New function.
1061         (gfc_target_expr_size): Modified to always return the full size of the
1062         expression.
1064 2013-04-20  Tobias Burnus  <burnus@net-b.de>
1066         PR fortran/56907
1067         * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
1068         passed to C_LOC
1070 2013-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
1071             Mikael Morin  <mikael@gcc.gnu.org>
1073         PR fortran/56872
1074         * frontend-passes.c (copy_walk_reduction_arg): Change argument type
1075         to gfc_constructor.  If it has an iterator, wrap the copy of its
1076         expression in an array constructor with that iterator.  Don't special
1077         case function expressions.
1078         (callback_reduction): Update caller.  Don't return early if there is
1079         an iterator.
1081 2013-04-18  Tobias Burnus  <burnus@net-b.de>
1083         * expr.c (find_array_element): Don't copy expr.
1084         * data.c (create_character_initializer): Free expr.
1085         * frontend-passes.c (combine_array_constructor): Ditto.
1086         * match.c (match_typebound_call, gfc_match_select_type): Ditto.
1087         * resolve.c (resolve_typebound_function): Free gfc_ref.
1089 2013-04-18  Tobias Burnus  <burnus@net-b.de>
1091         PR fortran/56994
1092         * invoke.texi (NEAREST): S argument is not optional.
1094 2013-04-17  Janus Weil  <janus@gcc.gnu.org>
1096         PR fortran/56814
1097         * interface.c (check_result_characteristics): Get result from interface
1098         if present.
1100 2013-04-17  Janne Blomqvist  <jb@gcc.gnu.org>
1102         PR fortran/40958
1103         * scanner.h: New file.
1104         * Make-lang.in: Dependencies on scanner.h.
1105         * scanner.c (gfc_directorylist): Move to scanner.h.
1106         * module.c: Don't include md5.h, include scanner.h and zlib.h.
1107         (MOD_VERSION): Add comment about backwards compatibility.
1108         (module_fp): Change type to gzFile.
1109         (ctx): Remove.
1110         (gzopen_included_file_1): New function.
1111         (gzopen_included_file): New function.
1112         (gzopen_intrinsic_module): New function.
1113         (write_char): Use gzputc.
1114         (read_crc32_from_module_file): New function.
1115         (read_md5_from_module_file): Remove.
1116         (gfc_dump_module): Use gz* functions instead of stdio, check gzip
1117         crc32 instead of md5.
1118         (read_module_to_tmpbuf): Use gz* functions instead of stdio.
1119         (gfc_use_module): Use gz* functions.
1121 2013-04-16  Tobias Burnus  <burnus@net-b.de>
1123         PR fortran/39505
1124         * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
1125         * gfortran.h (ext_attr_id_t): Ditto.
1126         * gfortran.texi (GNU Fortran Compiler Directives):
1127         Document it.
1128         * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
1129         (compare_parameter): Ditto - and regard as unlimited polymorphic.
1130         * resolve.c (resolve_symbol, resolve_variable): Add same constraint
1131         checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
1132         (gfc_explicit_interface_required): Require explicit interface
1133         for NO_ARG_CHECK.
1135 2013-04-16  Janus Weil  <janus@gcc.gnu.org>
1137         PR fortran/56968
1138         * expr.c (gfc_check_pointer_assign): Handle generic functions returning
1139         procedure pointers.
1141 2013-04-16  Tobias Burnus  <burnus@net-b.de>
1143         PR fortran/56969
1144         * intrinsic.c (gfc_intrinsic_func_interface): Don't set
1145         module name to "(intrinsic)" for intrinsics from intrinsic
1146         modules.
1148 2013-04-15  Tobias Burnus  <burnus@net-b.de>
1150         * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
1152 2013-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
1154         PR fortran/56919
1155         * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
1157 2013-04-15  Tobias Burnus  <burnus@net-b.de>
1159         * class.c (gfc_find_intrinsic_vtab): Removed unused var.
1160         * dependency.c (check_data_pointer_types): Fix check.
1161         * frontend-passes.c (check_data_pointer_types): Remove
1162         superfluous statement.
1163         * parse.c (decode_omp_directive): Add missing break.
1164         * resolve.c (resolve_typebound_subroutine: Free variable.
1165         * trans-decl.c (create_function_arglist): Correct condition.
1167 2013-04-14  Mikael Morin  <mikael@gcc.gnu.org>
1169         PR fortran/56816
1170         * match.c (gfc_match_select_type): Add syntax error. Move namespace
1171         allocation and cleanup...
1172         * parse.c (decode_statement): ... here.
1174 2013-04-13  Janus Weil  <janus@gcc.gnu.org>
1176         PR fortran/55959
1177         * expr.c (gfc_simplify_expr): Branch is not unreachable.
1179 2013-04-12  Janus Weil  <janus@gcc.gnu.org>
1181         PR fortran/56266
1182         * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
1184 2013-04-12  Tobias Burnus  <burnus@net-b.de>
1186         PR fortran/56929
1187         * trans-array.c (duplicate_allocatable): Fix handling
1188         of scalar coarrays.
1190 2013-04-12  Janus Weil  <janus@gcc.gnu.org>
1192         PR fortran/56261
1193         * gfortran.h (gfc_explicit_interface_required): New prototype.
1194         * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
1195         required in a proc-ptr assignment.
1196         * interface.c (check_result_characteristics): Extra check.
1197         * resolve.c (gfc_explicit_interface_required): New function.
1198         (resolve_global_procedure): Use new function
1199         'gfc_explicit_interface_required'. Do a full interface check.
1201 2013-04-12  Tobias Burnus  <burnus@net-b.de>
1203         PR fortran/56845
1204         * trans-decl.c (gfc_trans_deferred_vars): Restrict
1205         static CLASS init to SAVE and -fno-automatic.
1207 2013-04-12  Tobias Burnus  <burnus@net-b.de>
1209         PR fortran/56845
1210         * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
1211         allocatable static BT_CLASS.
1212         * trans-expr.c (gfc_class_set_static_fields): New function.
1213         * trans.h (gfc_class_set_static_fields): New prototype.
1215 2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
1217         * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
1218         * arith.c: Replace gfc_try with bool type.
1219         * array.c: Likewise.
1220         * check.c: Likewise.
1221         * class.c: Likewise.
1222         * cpp.c: Likewise.
1223         * cpp.h: Likewise.
1224         * data.c: Likewise.
1225         * data.h: Likewise.
1226         * decl.c: Likewise.
1227         * error.c: Likewise.
1228         * expr.c: Likewise.
1229         * f95-lang.c: Likewise.
1230         * interface.c: Likewise.
1231         * intrinsic.c: Likewise.
1232         * intrinsic.h: Likewise.
1233         * io.c: Likewise.
1234         * match.c: Likewise.
1235         * match.h: Likewise.
1236         * module.c: Likewise.
1237         * openmp.c: Likewise.
1238         * parse.c: Likewise.
1239         * parse.h: Likewise.
1240         * primary.c: Likewise.
1241         * resolve.c: Likewise.
1242         * scanner.c: Likewise.
1243         * simplify.c: Likewise.
1244         * symbol.c: Likewise.
1245         * trans-intrinsic.c: Likewise.
1246         * trans-openmp.c: Likewise.
1247         * trans-stmt.c: Likewise.
1248         * trans-types.c: Likewise.
1250 2013-04-09  Tobias Burnus  <burnus@net-b.de>
1252         * gfortran.texi (KIND Type Parameters,
1253         Internal representation of LOGICAL variables): Add crossrefs.
1254         (Intrinsic Types): Mention issues with _Bool interop.
1255         (Naming and argument-passing conventions): New section.
1257 2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
1259         PR fortran/56782
1260         * frontend-passes.c (callback_reduction):  Don't do
1261         any simplification if there is only a single element
1262         which has an iterator.
1264 2013-04-07  Tobias Burnus  <burnus@net-b.de>
1266         PR fortran/56849
1267         * iresolve.c (gfc_resolve_reshape): Set shape also
1268         with order=.
1270 2013-04-04  Janus Weil  <janus@gcc.gnu.org>
1272         PR fortran/40881
1273         * match.c (gfc_match_return): Remove standard notification.
1274         * primary.c (gfc_match_actual_arglist): Add standard notification.
1276 2013-04-04  Tobias Burnus  <burnus@net-b.de>
1278         PR fortran/50269
1279         * gcc/fortran/check.c (is_c_interoperable,
1280         gfc_check_c_loc): Correct c_loc array checking
1281         for Fortran 2003 and Fortran 2008.
1283 2013-04-03  Janus Weil  <janus@gcc.gnu.org>
1285         PR fortran/56284
1286         PR fortran/40881
1287         * decl.c (gfc_match_formal_arglist): Warn about alternate-return
1288         arguments.
1289         * interface.c (check_dummy_characteristics): Return if symbols are NULL.
1291 2013-04-01  Janus Weil  <janus@gcc.gnu.org>
1293         PR fortran/56500
1294         * symbol.c (gfc_set_default_type): Build class container for
1295         IMPLICIT CLASS.
1297 2013-03-31  Tobias Burnus  <burnus@net-b.de>
1299         * class.c (finalization_scalarizer, finalizer_insert_packed_call,
1300         generate_finalization_wrapper): Avoid segfault with absent SIZE=
1301         argument to TRANSFER and use correct result kind for SIZE.
1302         * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
1303         nonmodules.
1304         * trans.c (gfc_build_final_call): Handle coarrays.
1306 2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
1308         * trans-expr.c (build_memcmp_call):  New function.
1309         (gfc_build_compare_string):  If the strings
1310         compared have constant and equal lengths and
1311         the strings are kind=1, or, for kind=4 strings,
1312         the test is for (in)equality, use memcmp().
1314 2013-03-29  Tobias Burnus  <burnus@net-b.de>
1316         PR fortran/35203
1317         * trans-decl.c (create_function_arglist): Pass hidden argument
1318         for passed-by-value optional+value dummies.
1319         * trans-expr.c (gfc_conv_expr_present,
1320         gfc_conv_procedure_call): Handle those.
1322 2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
1324         PR fortran/45159
1325         * gfortran.h (gfc_dep_difference):  Add prototype.
1326         * dependency.c (discard_nops):  New function.
1327         (gfc_dep_difference):  New function.
1328         (check_section_vs_section):  Use gfc_dep_difference
1329         to calculate the difference of starting indices.
1330         * trans-expr.c (gfc_conv_substring):  Use
1331         gfc_dep_difference to calculate the length of
1332         substrings where possible.
1334 2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
1336         PR fortran/55806
1337         * frontend-passes.c (optimize_code):  Keep track of
1338         current code to make code insertion possible.
1339         (combine_array_constructor):  New function.
1340         (optimize_op):  Call it.
1342 2013-03-27  Tobias Burnus  <burnus@net-b.de>
1344         PR fortran/56650
1345         PR fortran/36437
1346         * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
1347         gfc_check_storage_size): Update checks.
1348         * intrinsic.texi (SIZEOF): Correct class.
1349         * intrinsic.h (gfc_simplify_sizeof,
1350         gfc_simplify_storage_size): New prototypes.
1351         * intrinsic.c (add_functions): Use them.
1352         * simplify.c (gfc_simplify_sizeof,
1353         gfc_simplify_storage_size): New functions.
1355 2013-03-27  Janne Blomqvist  <jb@gcc.gnu.org>
1357         PR fortran/25708
1358         * module.c (module_locus): Use long for position.
1359         (module_content): New variable.
1360         (module_pos): Likewise.
1361         (prev_character): Remove.
1362         (bad_module): Free data instead of closing mod file.
1363         (set_module_locus): Use module_pos.
1364         (get_module_locus): Likewise.
1365         (module_char): use buffer rather than stdio file.
1366         (module_unget_char): Likewise.
1367         (read_module_to_tmpbuf): New function.
1368         (gfc_use_module): Call read_module_to_tmpbuf.
1370 2013-03-26  Tobias Burnus  <burnus@net-b.de>
1372         PR fortran/56649
1373         * simplify.c (gfc_simplify_merge): Simplify more.
1375 2013-03-25  Tobias Burnus  <burnus@net-b.de>
1377         PR fortran/38536
1378         PR fortran/38813
1379         PR fortran/38894
1380         PR fortran/39288
1381         PR fortran/40963
1382         PR fortran/45824
1383         PR fortran/47023
1384         PR fortran/47034
1385         PR fortran/49023
1386         PR fortran/50269
1387         PR fortran/50612
1388         PR fortran/52426
1389         PR fortran/54263
1390         PR fortran/55343
1391         PR fortran/55444
1392         PR fortran/55574
1393         PR fortran/56079
1394         PR fortran/56378
1395         * check.c (gfc_var_strlen): Properly handle 0-sized string.
1396         (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
1397         (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
1398         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
1399         functions.
1400         * expr.c (check_inquiry): Add c_sizeof, compiler_version and
1401         compiler_options.
1402         (gfc_check_pointer_assign): Refine function result check.
1403         gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
1404         GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
1405         GFC_ISYM_C_LOC.
1406         (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
1407         NAMED_SUBROUTINE.
1408         (generate_isocbinding_symbol): Update prototype.
1409         (get_iso_c_sym): Remove.
1410         (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
1411         * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
1412         (gfc_intrinsic_sub_interface): Use it.
1413         (add_functions, add_subroutines): Add missing C-binding intrinsics.
1414         (gfc_intrinsic_func_interface): Add special case for c_loc.
1415         gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
1416         (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
1417         * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
1418         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
1419         gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
1420         * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
1421         functions.
1422         * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
1423         NAMED_FUNCTION.
1424         * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
1425         * module.c (create_intrinsic_function): Support subroutines and
1426         derived-type results.
1427         (use_iso_fortran_env_module): Update calls.
1428         (import_iso_c_binding_module): Ditto; update calls to
1429         generate_isocbinding_symbol.
1430         * resolve.c (find_arglists): Skip for intrinsic symbols.
1431         (gfc_resolve_intrinsic): Find intrinsic subs via id.
1432         (is_scalar_expr_ptr, gfc_iso_c_func_interface,
1433         set_name_and_label, gfc_iso_c_sub_interface): Remove.
1434         (resolve_function, resolve_specific_s0): Remove calls to those.
1435         (resolve_structure_cons): Fix handling.
1436         * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
1437         generation.
1438         (gen_cptr_param, gen_fptr_param, gen_shape_param,
1439         build_formal_args, get_iso_c_sym): Remove.
1440         (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
1441         (generate_isocbinding_symbol): Support hidden symbols and
1442         using c_ptr/c_funptr symtrees for nullptr defs.
1443         * target-memory.c (gfc_target_encode_expr): Fix handling
1444         of c_ptr/c_funptr.
1445         * trans-expr.c (conv_isocbinding_procedure): Remove.
1446         (gfc_conv_procedure_call): Remove call to it.
1447         (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
1448         of c_ptr/c_funptr.
1449         * trans-intrinsic.c (conv_isocbinding_function,
1450         conv_isocbinding_subroutine): New.
1451         (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
1452         Call them.
1453         * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
1454         * trans-types.c (gfc_typenode_for_spec,
1455         gfc_get_derived_type): Ditto.
1456         (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
1458 2013-03-18  Tobias Burnus  <burnus@net-b.de>
1460         * gfortran.h (gfc_option_t): Remove flag_whole_file.
1461         * invoke.texi (-fno-whole-file): Remove.
1462         * lang.opt (fwhole-file): Change to Ignore.
1463         * options.c (gfc_init_options, gfc_post_options,
1464         gfc_handle_option): Remove !flag_whole_file handling
1465         * parse.c (resolve_all_program_units, translate_all_program_units,
1466         gfc_parse_file): Ditto.
1467         * resolve.c (resolve_global_procedure): Ditto.
1468         * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
1469         gfc_create_module_variable): Ditto.
1470         * trans-types.c (gfc_get_derived_type): Ditto.
1472 2013-03-15  Tobias Burnus  <burnus@net-b.de>
1474         PR fortran/56615
1475         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
1476         if they are not simply contiguous.
1478 2013-03-11  Tobias Burnus  <burnus@net-b.de>
1480         * gfortran.texi (STRUCTURE and RECORD): State more clearly how
1481         to convert them into derived types.
1483 2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
1485         PR fortran/56575
1486         * expr.c (gfc_default_initializer): Check that a class declared
1487         type has any components.
1488         * resolve.c (resolve_fl_derived0): On failing the test for C437
1489         set the type to BT_UNKNOWN to prevent repeat error messages.
1491 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1493         PR fortran/56477
1494         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
1496 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1498         PR fortran/54730
1499         * array.c (gfc_match_array_constructor): Set a checkpoint before
1500         matching a typespec.  Drop it on success, restore it otherwise.
1502 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1504         PR fortran/54730
1505         * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
1506         (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
1507         gfc_restore_last_undo_checkpoint): New prototypes.
1508         * symbol.c (default_undo_chgset_var): Update initialization.
1509         (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
1510         free_undo_change_set_data, pop_undo_change_set,
1511         gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
1512         New functions.
1513         (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
1514         field's previous value is not overwritten.  Clear gfc_new field.
1515         (restore_old_symbol): Restore previous old_symbol field.
1516         (gfc_restore_last_undo_checkpoint): New function, using body renamed
1517         from gfc_undo_symbols.  Restore the previous change set as current one.
1518         (gfc_undo_symbols): New body.
1519         (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
1520         Call enforce_single_undo_checkpoint.
1521         (gfc_symbol_done_2): Ditto.  Free change set data.
1523 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1525         * symbol.c (restore_old_symbol): Fix thinko.
1527 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1529         * symbol.c (gfc_undo_symbols): Move code...
1530         (restore_old_symbol): ... here as a new function.
1532 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
1534         * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
1535         * gfortran.h: Include vec.h.
1536         (gfc_undo_change_set): New struct.
1537         * symbol.c (tentative_tbp): Remove struct.
1538         (changed_syms, tentative_tbp_list): Remove variables.
1539         (default_undo_chgset_var, latest_undo_chgset): New variables.
1540         (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
1541         gfc_commit_symbols, gfc_commit_symbol,
1542         gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
1543         Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
1545 2013-03-01  Tobias Burnus  <burnus@net-b.de>
1547         PR fortran/56491
1548         * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
1549         * symbol.c (free_components): Free proc-pointer components.
1551 2013-03-01  Tobias Burnus  <burnus@net-b.de>
1553         * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
1554         * trans-io.c (build_dt): Ditto.
1556 2013-02-24  Joseph Myers  <joseph@codesourcery.com>
1558         * resolve.c (generate_component_assignments): Don't use UTF-8
1559         ligature in diagnostic.
1561 2013-02-21  Janus Weil  <janus@gcc.gnu.org>
1563         PR fortran/56385
1564         * trans-array.c (structure_alloc_comps): Handle procedure-pointer
1565         components with allocatable result.
1567 2013-02-21  Tobias Burnus  <burnus@net-b.de>
1569         PR fortran/56416
1570         * gfortran.texi (Part II: Language Reference, Extensions,
1571         Non-Fortran Main Program): Sort @menu to match actual section order.
1572         * intrinsic.texi (Intrinsic Procedures): Ditto.
1573         (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
1575 2013-02-15  Tobias Burnus  <burnus@net-b.de>
1576             Mikael Morin  <mikael@gcc.gnu.org>
1578         PR fortran/56318
1579         * simplify.c (gfc_simplify_matmul): Fix result shape
1580         and matmul result.
1582 2013-02-15  Tobias Burnus  <burnus@net-b.de>
1584         PR fortran/53818
1585         * resolve.c (apply_default_init_local): Don't create an
1586         initializer for a result variable.
1588 2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1590         PR fortran/56224
1591         * gfortran.h (gfc_add_include_path):  Add boolean argument
1592         for warn.
1593         * scanner.c (gfc_add_include_path):  Pass along warn argument
1594         to add_path_to_list.
1595         * options.c (gfc_post_options):  Add true warn argument to
1596         gfc_add_include_path.
1597         (gfc_handle_module_path_options):  Likewise.
1598         (gfc_handle_option): Also gfc_add_include_path for intrinsic
1599         modules, without warning.
1601 2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
1602             Tobias Burnus  <burnus@net-b.de>
1604         PR testsuite/56138
1605         * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
1606         results for functions without extra result variable.
1608         Revert:
1609         2013-01-30  Tobias Burnus  <burnus@net-b.de>
1611         PR fortran/56138
1612         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1613         results for functions without extra result variable.
1615 2013-02-12  Janus Weil  <janus@gcc.gnu.org>
1617         PR fortran/46952
1618         * resolve.c (resolve_call): Do not check deferred procedures for
1619         recursiveness.
1621 2013-02-09  Paul Thomas  <pault@gcc.gnu.org>
1623         PR fortran/55362
1624         * check.c (array_check): It is an error if a procedure is
1625         passed.
1627 2013-02-08  Mikael Morin  <mikael@gcc.gnu.org>
1629         PR fortran/54107
1630         * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
1631         to error_mark_node on entry.  Detect recursive types.  Build a variadic
1632         procedure type if the type is recursive.  Restore the initial
1633         backend_decl.
1635 2013-02-07  Tobias Burnus  <burnus@net-b.de>
1637         PR fortran/54339
1638         * gfortran.texi (Standards): Mention TS29113.
1639         (Varying Length Character): Mention deferred-length
1640         strings.
1641         (Fortran 2003 Status): Add unlimited polymorphic.
1642         (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
1643         (C Interop): Update the section about TS29113.
1645 2013-02-06  Paul Thomas  <pault@gcc.gnu.org>
1647         PR fortran/55789
1648         * trans-array.c (trans_array_constructor): Remove condition
1649         'dynamic' = true if the loop ubound is a VAR_DECL.
1651 2013-02-04  Paul Thomas  <pault@gcc.gnu.org>
1653         PR fortran/56008
1654         PR fortran/47517
1655         * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
1656         the lhs descriptor before it is modified for reallocation. Use
1657         it to deallocate allocatable components in the reallocation
1658         block.  Nullify allocatable components for newly (re)allocated
1659         arrays.
1661 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
1663         PR fortran/54195
1664         * resolve.c (resolve_typebound_procedures): Recurse through
1665         resolve_symbol.
1667 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
1669         PR fortran/54107
1670         PR fortran/54195
1671         * gfortran.h (struct gfc_symbol): New field 'resolved'.
1672         * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
1673         (resolve_symbol): Skip duplicate calls.  Don't check the current
1674         namespace.
1676 2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
1678         PR fortran/50627
1679         PR fortran/56054
1680         * decl.c (gfc_match_end):  Remove half-ready namespace
1681         from parent if the end of a block is missing.
1682         * parse.c (parse_module):  Do not put namespace into
1683         gsymbol on error.
1685 2013-01-30  Tobias Burnus  <burnus@net-b.de>
1687         PR fortran/56138
1688         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
1689         results for functions without extra result variable.
1691 2013-01-29  Janus Weil  <janus@gcc.gnu.org>
1692             Mikael Morin  <mikael@gcc.gnu.org>
1694         PR fortran/54107
1695         * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
1696         (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
1697         gfc_expr_replace_comp): Delete.
1698         (gfc_sym_get_dummy_args): New prototype.
1699         * dependency.c (gfc_check_fncall_dependency): Use
1700         'gfc_sym_get_dummy_args'.
1701         * expr.c (gfc_is_constant_expr): Ditto.
1702         (replace_symbol,gfc_expr_replace_symbols,replace_comp,
1703         gfc_expr_replace_comp): Deleted.
1704         * frontend-passes.c (doloop_code,do_function): Use
1705         'gfc_sym_get_dummy_args'.
1706         * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
1707         gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
1708         gfc_check_typebound_override): Ditto.
1709         * module.c (MOD_VERSION): Bump module version.
1710         (mio_component): Do not read/write 'formal' and 'formal_ns'.
1711         * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
1712         copy formal args, but just keep a pointer to the interface.
1713         (resolve_function,resolve_call,resolve_typebound_generic_call,
1714         resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
1715         resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
1716         resolve_typebound_procedure,check_uop_procedure): Use
1717         'gfc_sym_get_dummy_args'.
1718         * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
1719         (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
1720         (gfc_sym_get_dummy_args): New function.
1721         * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
1722         Use 'gfc_sym_get_dummy_args'.
1723         * trans-decl.c (build_function_decl,create_function_arglist,
1724         build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
1725         add_argument_checking): Ditto.
1726         * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
1727         gfc_conv_statement_function): Ditto.
1728         * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
1729         * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
1731 2013-01-28  Tobias Burnus  <burnus@net-b.de>
1732             Mikael Morin  <mikael@gcc.gnu.org>
1734         PR fortran/53537
1735         * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
1736         interface block.
1737         (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
1738         * decl.c (gfc_match_data_decl): Ditto.
1739         (variable_decl): Remove undeclared type error.
1740         (gfc_match_import): Use renamed instead of original name.
1742 2013-01-27  Paul Thomas  <pault@gcc.gnu.org>
1744         PR fortran/55984
1745         PR fortran/56047
1746         * gfortran.h : Add associate_var to symbol_attr.
1747         * resolve.c (resolve_assoc_var): Set associate_var attribute.
1748         If the target class_ok is set, set it for the associate
1749         variable.
1750         * check.c (allocatable_check): Associate variables should not
1751         have the allocatable attribute even if their symbols do.
1752         * class.c (gfc_build_class_symbol): Symbols with associate_var
1753         set will always have a good class container.
1755 2013-01-23  Janus Weil  <janus@gcc.gnu.org>
1757         PR fortran/56081
1758         * resolve.c (resolve_select): Add argument 'select_type', reject
1759         non-scalar expressions.
1760         (resolve_select_type,resolve_code): Pass new argument to
1761         'resolve_select'.
1763 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1765         PR fortran/56052
1766         * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
1767         and DECL_IGNORED_P on select_type_temporary and don't set
1768         DECL_BY_REFERENCE.
1770 2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1772         PR fortran/55919
1773         * scanner.c (add_path_to_list): Copy path to temporary and strip
1774         trailing directory separators before calling stat().
1776 2013-01-17  Richard Biener  <rguenther@suse.de>
1778         * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
1779         dependent on sign of step, avoids repeated evaluation of
1780         step sign test.  Avoid undefined overflow issues by using unsigned
1781         arithmetic.
1783 2013-01-16  Janus Weil  <janus@gcc.gnu.org>
1785         PR fortran/55983
1786         * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
1787         asserting it.
1789 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
1790             Tobias Burnus  <burnus@net-b.de>
1792         PR driver/55884
1793         * lang.opt (fintrinsic-modules-path): Don't accept Joined.
1794         (fintrinsic-modules-path=): New.
1795         * options.c (gfc_handle_option, gfc_get_option_string,
1796         gfc_get_option_string): Handle the latter.
1798 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
1800         PR fortran/52865
1801         * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
1802         and use value of countm1 before the decrement in the condition.
1804 2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
1806         PR fortran/54286
1807         * expr.c (gfc_check_pointer_assign): Check for presence of
1808         's2' before using it.
1810 2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1812         PR fortran/55806
1813         * frontend-passes.c (optimize_reduction):  New function,
1814         including prototype.
1815         (callback_reduction):  Likewise.
1816         (gfc_run_passes):  Also run optimize_reduction.
1817         (copy_walk_reduction_arg):  New function.
1818         (dummy_code_callback):  New function.
1820 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
1822         PR fortran/55935
1823         * trans-expr.c (gfc_conv_structure): Call
1824         unshare_expr_without_location on the ctor elements.
1826 2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
1828         PR fortran/54286
1829         * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
1830         and rvalue interfaces are presented to gfc_compare_interfaces.
1831         Simplify references to interface names by using the symbols
1832         themselves. Call gfc_compare_interfaces with s1 and s2 inter-
1833         changed to overcome the asymmetry of this function. Do not
1834         repeat the check for the presence of s1 and s2.
1836 2013-01-12  Janus Weil  <janus@gcc.gnu.org>
1838         PR fortran/55072
1839         * trans-array.c (gfc_conv_array_parameter): No packing was done for
1840         full arrays of derived type.
1842 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
1844         PR fortran/55868
1845         * class.c (get_unique_type_string): Change $tar to STAR and
1846         replace sprintf by strcpy where there is no formatting.
1847         * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
1849 2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
1851         PR fortran/47203
1852         * module.c (check_for_ambiguous): Get the current program unit using
1853         gfc_current_ns.
1855 2013-01-09  Tobias Burnus  <burnus@net-b.de>
1857         PR fortran/55758
1858         * resolve.c (resolve_symbol): Reject non-C_Bool logicals
1859         in BIND(C) procedures with -std=f*.
1861 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
1863         PR fortran/55618
1864         * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
1865         character function arguments to elemental procedures in
1866         scalarization loops.
1868 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1870         PR fortran/55763
1871         * gfortran.h (gfc_check_assign_symbol): Update prototype.
1872         * decl.c (add_init_expr_to_sym, do_parm): Update call.
1873         * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
1874         improve error location; support components.
1875         (gfc_check_pointer_assign): Handle component assignments.
1876         * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
1877         (resolve_values): Update call.
1878         (resolve_structure_cons): Avoid double diagnostic.
1880 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1881             Thomas Koenig  <tkoenig@gcc.gnu.org>
1883         PR fortran/55852
1884         * expr.c (gfc_build_intrinsic_call): Avoid clashes
1885         with user's procedures.
1886         * gfortran.h (gfc_build_intrinsic_call): Update prototype.
1887         * simplify.c (gfc_simplify_size): Update call.
1888         * class.c (finalization_scalarizer, finalization_get_offset,
1889         finalizer_insert_packed_call, generate_finalization_wrapper):
1890         Clean up by using gfc_build_intrinsic_call.
1892 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1894         PR fortran/55763
1895         * resolve.c (resolve_select_type): Reject intrinsic types for
1896         a non-unlimited-polymorphic selector.
1898 2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
1900         PR fortran/53876
1901         PR fortran/54990
1902         PR fortran/54992
1903         * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
1904         to see if it is GFC_CLASS_TYPE_P.
1905         * trans-expr.c (gfc_get_vptr_from_expr): The same.
1906         (gfc_conv_class_to_class): If the types are not the same,
1907         cast parmese->expr to the type of ctree.
1908         * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
1909         CLASS components must be set.
1911 2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
1913         PR fortran/42769
1914         PR fortran/45836
1915         PR fortran/45900
1916         * module.c (read_module): Don't reuse local symtree if the associated
1917         symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
1918         ambiguous.
1919         * resolve.c (resolve_call): Use symtree's name instead of symbol's to
1920         lookup the symtree.
1922 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
1923             Mikael Morin  <mikael@gcc.gnu.org>
1925         PR fortran/55827
1926         * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
1927         e->symtree == NULL.
1928         * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
1930 2013-01-05  Tobias Burnus  <burnus@net-b.de>
1932         * class.c (finalize_component): Used passed offset expr.
1933         (finalization_get_offset): New static function.
1934         (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
1935         to handle noncontiguous arrays.
1937 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1939         * trans.c (gfc_build_final_call): New function.
1940         * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
1941         New function prototypes.
1942         * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
1943         conv_scalar_to_descriptor, removed static attribute.
1944         (gfc_conv_procedure_call): Honor renaming.
1946 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1948         * intrinsic.c (add_functions): New internal intrinsic
1949         function GFC_PREFIX ("stride").
1950         * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
1951         * intrinsic.h (gfc_resolve_stride): New prototypes.
1952         * iresolve.c (gfc_resolve_stride): New function.
1953         * trans-intrinsic.c (conv_intrinsic_stride): New static
1954         function.
1955         (gfc_conv_intrinsic_function): Use it.
1957 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1959         * class.c (gfc_find_intrinsic_vtab): Add _final
1960         component.
1961         * decl.c (gfc_match_null): Remove superfluous
1962         variadic argument to gfc_match.
1964 2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
1966         PR fortran/55172
1967         * match.c (copy_ts_from_selector_to_associate): Remove call to
1968         gfc_resolve_expr and replace it with explicit setting of the
1969         array reference type.
1970         * resolve.c (resolve_select_type): It is an error if the
1971         selector is coindexed.
1973 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1975         PR fortran/55763
1976         * decl.c (gfc_match_null): Parse and reject MOLD.
1978 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1980         PR fortran/55854
1981         PR fortran/55763
1982         * class.c (gfc_class_null_initializer): Fix finding the vtab.
1983         (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
1985 2013-01-03  Janus Weil  <janus@gcc.gnu.org>
1987         PR fortran/55855
1988         * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
1989         of rvalue. Correct hyphenation in error message.
1991 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1993         * gfortranspec.c (lang_specific_driver): Update copyright notice
1994         dates.
1996 Copyright (C) 2013 Free Software Foundation, Inc.
1998 Copying and distribution of this file, with or without modification,
1999 are permitted in any medium without royalty provided the copyright
2000 notice and this notice are preserved.