2013-06-08 Tobias Burnus <burnus@net-b.de>
[official-gcc.git] / gcc / fortran / ChangeLog
blob1009c95c72696bb16f9b4091b5fc169eb525948a
1 2013-06-08  Tobias Burnus  <burnus@net-b.de>
3         PR fortran/57553
4         * simplify.c (gfc_simplify_storage_size): Handle literal
5         strings.
6         * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
7         Add missing fold_convert.
9 2013-06-07  Tobias Burnus  <burnus@net-b.de>
11         PR fortran/57549
12         * array.c (gfc_match_array_constructor): Call
13         gfc_match_type_spec instead of gfc_match_decl_type_spec.
14         * match.c (gfc_match_type_spec): Renamed from match_type_spec.
15         (gfc_match_type_is, gfc_match_allocate): Update call.
16         * match.h (gfc_match_type_spec): Add prototype.
18 2013-06-07  Tobias Burnus  <burnus@net-b.de>
20         PR fortran/57556
21         * trans.c (gfc_build_final_call): Init block before use.
23 2013-06-06  Tobias Burnus  <burnus@net-b.de>
25         PR fortran/57542
26         * trans.c (gfc_build_final_call): Add se.pre to the block
27         and modify the assert.
29 2013-06-04  Tobias Burnus  <burnus@net-b.de>
31         PR fortran/37336
32         * trans.h (gfc_build_final_call): Remove prototype.
33         (gfc_add_finalizer_call): Add prototype.
34         * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
35         (structure_alloc_comps): Update caller.
36         (gfc_trans_deferred_array): Call finalizer.
37         * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
38         * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
39         variables of the main program.
40         * trans-expr.c (gfc_conv_procedure_call): Support finalization.
41         * trans-openmp.c (gfc_omp_clause_dtor,
42         gfc_trans_omp_array_reduction): Update calls.
43         * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
44         of alloc components.
45         * trans.c (gfc_add_finalizer_call): New function.
46         (gfc_deallocate_with_status,
47         gfc_deallocate_scalar_with_status): Call it
48         (gfc_build_final_call): Fix handling of scalar coarrays,
49         move up in the file and make static.
51 2013-06-01  Janus Weil  <janus@gcc.gnu.org>
52             Mikael Morin  <mikael@gcc.gnu.org>
54         * error.c (get_terminal_width): Only limit the width if we're
55         outputting to a terminal. Try to determine width via ioctl.
57 2013-06-01  Tobias Burnus  <burnus@net-b.de>
59         * decl.c (add_global_entry): Take locus.
60         (gfc_match_entry): Update call.
61         (gfc_match_end): Better error location.
62         * parse.c (parse_block_data, parse_module, add_global_procedure,
63         add_global_program): Use better locus data.
65 2013-05-31  Tobias Burnus  <burnus@net-b.de>
67         PR fortran/57456
68         * trans-array.c (gfc_array_init_size): Use passed type spec,
69         when available.
70         (gfc_array_allocate): Pass typespec on.
71         * trans-array.h (gfc_array_allocate): Update prototype.
72         * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
74 2013-05-31  Janus Weil  <janus@gcc.gnu.org>
76         PR fortran/54190
77         PR fortran/57217
78         * gfortran.h (gfc_terminal_width): Remove prototype.
79         * error.c (get_terminal_width): Moved here from misc.c. Renamed.
80         Try to determine terminal width from environment variable.
81         * interface.c (compare_type, compare_rank): New functions. Fix assumed
82         type/rank handling.
83         (compare_type_rank, check_dummy_characteristics,
84         check_result_characteristics, gfc_compare_interfaces): Use them.
85         (symbol_rank): Slightly modified and moved.
86         * misc.c (gfc_terminal_width): Moved to error.c.
88 2013-05-30  Janus Weil  <janus@gcc.gnu.org>
90         PR fortran/54189
91         * resolve.c (check_assumed_size_reference): Check for e->ref.
93 2013-05-30  Tobias Burnus  <burnus@net-b.de>
95         PR fortran/57458
96         * interface.c (compare_parameter): Update C1239/C1240 constraint
97         check for assumed-rank/TS29113.
99 2013-05-29  Tobias Burnus  <burnus@net-b.de>
101         PR fortran/37336
102         * class.c (finalize_component): Fix coarray array refs.
103         (generate_finalization_wrapper): Only gfc_convert_type_warn
104         when the kind value is different.
105         (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
106         (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
107         generation.
108         * module.c (MOD_VERSION): Bump.
109         (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
110         * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
111         void pointer.
112         (gfc_array_allocate, structure_alloc_comps): Don't nullify for
113         BT_CLASS allocations.
114         * trans-stmt.c (gfc_trans_allocate): Ditto.
116 2013-05-29  Tobias Burnus  <burnus@net-b.de>
118         PR fortran/37336
119         * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
121 2013-05-28  Tobias Burnus  <burnus@net-b.de>
123         * trans-expr.c (gfc_conv_procedure_call): Deallocate
124         polymorphic arrays for allocatable intent(out) dummies.
125         (gfc_reset_vptr): New function, moved from trans-stmt.c
126         and extended.
127         * trans-stmt.c (reset_vptr): Remove.
128         (gfc_trans_deallocate): Update calls.
129         * trans.h (gfc_reset_vptr): New prototype.
131 2013-05-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
133         PR fortran/57435
134         * module.c (check_for_ambiguous): Avoid null pointer deref.
136 2013-05-28  Janus Weil  <janus@gcc.gnu.org>
137             Tobias Burnus  <burnus@net-b.de>
139         PR fortran/57217
140         * interface.c (check_dummy_characteristics): Symmetrize type check.
142 2013-05-27  Bud Davis  <jmdavis@link.com>
144         PR fortran/50405
145         * resolve.c (resolve_formal_arglist): Detect error when an argument
146         has the same name as the function.
148 2013-05-27  Tobias Burnus  <burnus@net-b.de>
150         * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
151         * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
153 2013-05-22  Tobias Burnus  <burnus@net-b.de>
155         * resolve.c (get_temp_from_expr): Change mangling to
156         start always with a _.
158 2013-05-22  Tobias Burnus  <burnus@net-b.de>
160         * resolve.c (get_temp_from_expr): Fix temp var mangling.
162 2013-05-22  Tobias Burnus  <burnus@net-b.de>
164         PR fortran/57364
165         * resolve.c (get_temp_from_expr): Commit created sym.
167 2013-05-22  Tobias Burnus  <burnus@net-b.de>
169         PR fortran/57338
170         * intrinsic.c (do_check): Move some checks to ...
171         (do_ts29113_check): ... this new function.
172         (check_specific, gfc_intrinsic_sub_interface): Call it.
174 2013-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
176         * intrinsic.texi (RANDOM_SEED): Improve example.
178 2013-05-21  Tobias Burnus  <burnus@net-b.de>
180         PR fortran/57035
181         * intrinsic.c (do_check): Add constraint check for
182         NO_ARG_CHECK, assumed rank and assumed type.
183         * gfortran.texi (NO_ARG_CHECK): Minor wording change,
184         allow PRESENT intrinsic.
186 2013-05-20  Tobias Burnus  <burnus@net-b.de>
188         PR fortran/48858
189         PR fortran/55465
190         * decl.c (add_global_entry): Add sym_name.
191         * parse.c (add_global_procedure): Ditto.
192         * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
193         a procedure.
194         (resolve_global_procedure): Handle gsym->ns pointing to a module.
195         * trans-decl.c (gfc_get_extern_function_decl): Ditto.
197 2013-05-20  Tobias Burnus  <burnus@net-b.de>
199         PR fortran/48858
200         * decl.c (add_global_entry): Use nonbinding name
201         only for F2003 or if no binding label exists.
202         (gfc_match_entry): Update calls.
203         * parse.c (gfc_global_used): Improve error message.
204         (add_global_procedure): Use nonbinding name
205         only for F2003 or if no binding label exists.
206         (gfc_parse_file): Update call.
207         * resolve.c (resolve_global_procedure): Use binding
208         name when available.
209         * trans-decl.c (gfc_get_extern_function_decl): Ditto.
211 2013-05-20  Tobias Burnus  <burnus@net-b.de>
213         PR fortran/48858
214         * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
215         * match.c (gfc_match_common): Don't add commons to gsym.
216         * resolve.c (resolve_common_blocks): Add to gsym and
217         add checks.
218         (resolve_bind_c_comms): Remove.
219         (resolve_types): Remove call to the latter.
220         * trans-common.c (gfc_common_ns): Remove static var.
221         (gfc_map_of_all_commons): Add static var.
222         (build_common_decl): Correctly handle binding label.
224 2013-05-16  Jason Merrill  <jason@redhat.com>
226         * Make-lang.in (f951$(exeext)): Use link mutex.
228 2013-05-05  Tobias Burnus  <burnus@net-b.de>
230         * resolve.c (conformable_arrays): Avoid segfault
231         when ar.start[i] == NULL.
233 2013-05-05  Tobias Burnus  <burnus@net-b.de>
235         PR fortran/57141
236         * decl.c (gfc_match_null): Permit use-associated
237         NULL intrinsic.
239 2013-05-04  Tobias Burnus  <burnus@net-b.de>
241         * decl.c (gfc_verify_c_interop_param): Permit allocatable
242         and pointer with -std=f2008ts.
244 2013-05-02  Tobias Burnus  <burnus@net-b.de>
246         PR fortran/57142
247         * simplify.c (gfc_simplify_size): Renamed from
248         simplify_size; fix kind=8 handling.
249         (gfc_simplify_size): New function.
250         (gfc_simplify_shape): Add range check.
251         * resolve.c (resolve_function): Fix handling
252         for ISYM_SIZE.
254 2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
256         * frontend-passes.c (optimize_power):  Fix typo
257         in comment.
259 2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
261         PR fortran/57071
262         * frontend-passes.c (optimize_power):  Simplify
263         1**k to 1.
265 2013-04-28  Tobias Burnus  <burnus@net-b.de>
267         PR fortran/57114
268         * intrinsic.texi (RANK): Correct syntax description and
269         expected result.
271 2013-04-28  Tobias Burnus  <burnus@net-b.de>
273         PR fortran/57093
274         * trans-types.c (gfc_get_element_type): Fix handling
275         of scalar coarrays of type character.
276         * intrinsic.texi (PACK): Add missing ")".
278 2013-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
280         PR fortran/57071
281         * frontend-passes (optimize_power):  New function.
282         (optimize_op):  Use it.
284 2013-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
286         PR bootstrap/57028
287         * Make-lang.in (f951): Link in ZLIB.
288         (CFLAGS-fortran/module.o): Add zlib include directory.
290 2013-04-22  Janus Weil  <janus@gcc.gnu.org>
292         PR fortran/53685
293         PR fortran/57022
294         * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
295         expressions.
296         * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
297         of special treatment for EXPR_ARRAY.
298         * target-memory.h (gfc_element_size): New prototype.
299         * target-memory.c (size_array): Remove.
300         (gfc_element_size): New function.
301         (gfc_target_expr_size): Modified to always return the full size of the
302         expression.
304 2013-04-20  Tobias Burnus  <burnus@net-b.de>
306         PR fortran/56907
307         * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
308         passed to C_LOC
310 2013-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
311             Mikael Morin  <mikael@gcc.gnu.org>
313         PR fortran/56872
314         * frontend-passes.c (copy_walk_reduction_arg): Change argument type
315         to gfc_constructor.  If it has an iterator, wrap the copy of its
316         expression in an array constructor with that iterator.  Don't special
317         case function expressions.
318         (callback_reduction): Update caller.  Don't return early if there is
319         an iterator.
321 2013-04-18  Tobias Burnus  <burnus@net-b.de>
323         * expr.c (find_array_element): Don't copy expr.
324         * data.c (create_character_initializer): Free expr.
325         * frontend-passes.c (combine_array_constructor): Ditto.
326         * match.c (match_typebound_call, gfc_match_select_type): Ditto.
327         * resolve.c (resolve_typebound_function): Free gfc_ref.
329 2013-04-18  Tobias Burnus  <burnus@net-b.de>
331         PR fortran/56994
332         * invoke.texi (NEAREST): S argument is not optional.
334 2013-04-17  Janus Weil  <janus@gcc.gnu.org>
336         PR fortran/56814
337         * interface.c (check_result_characteristics): Get result from interface
338         if present.
340 2013-04-17  Janne Blomqvist  <jb@gcc.gnu.org>
342         PR fortran/40958
343         * scanner.h: New file.
344         * Make-lang.in: Dependencies on scanner.h.
345         * scanner.c (gfc_directorylist): Move to scanner.h.
346         * module.c: Don't include md5.h, include scanner.h and zlib.h.
347         (MOD_VERSION): Add comment about backwards compatibility.
348         (module_fp): Change type to gzFile.
349         (ctx): Remove.
350         (gzopen_included_file_1): New function.
351         (gzopen_included_file): New function.
352         (gzopen_intrinsic_module): New function.
353         (write_char): Use gzputc.
354         (read_crc32_from_module_file): New function.
355         (read_md5_from_module_file): Remove.
356         (gfc_dump_module): Use gz* functions instead of stdio, check gzip
357         crc32 instead of md5.
358         (read_module_to_tmpbuf): Use gz* functions instead of stdio.
359         (gfc_use_module): Use gz* functions.
361 2013-04-16  Tobias Burnus  <burnus@net-b.de>
363         PR fortran/39505
364         * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
365         * gfortran.h (ext_attr_id_t): Ditto.
366         * gfortran.texi (GNU Fortran Compiler Directives):
367         Document it.
368         * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
369         (compare_parameter): Ditto - and regard as unlimited polymorphic.
370         * resolve.c (resolve_symbol, resolve_variable): Add same constraint
371         checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
372         (gfc_explicit_interface_required): Require explicit interface
373         for NO_ARG_CHECK.
375 2013-04-16  Janus Weil  <janus@gcc.gnu.org>
377         PR fortran/56968
378         * expr.c (gfc_check_pointer_assign): Handle generic functions returning
379         procedure pointers.
381 2013-04-16  Tobias Burnus  <burnus@net-b.de>
383         PR fortran/56969
384         * intrinsic.c (gfc_intrinsic_func_interface): Don't set
385         module name to "(intrinsic)" for intrinsics from intrinsic
386         modules.
388 2013-04-15  Tobias Burnus  <burnus@net-b.de>
390         * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
392 2013-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
394         PR fortran/56919
395         * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
397 2013-04-15  Tobias Burnus  <burnus@net-b.de>
399         * class.c (gfc_find_intrinsic_vtab): Removed unused var.
400         * dependency.c (check_data_pointer_types): Fix check.
401         * frontend-passes.c (check_data_pointer_types): Remove
402         superfluous statement.
403         * parse.c (decode_omp_directive): Add missing break.
404         * resolve.c (resolve_typebound_subroutine: Free variable.
405         * trans-decl.c (create_function_arglist): Correct condition.
407 2013-04-14  Mikael Morin  <mikael@gcc.gnu.org>
409         PR fortran/56816
410         * match.c (gfc_match_select_type): Add syntax error. Move namespace
411         allocation and cleanup...
412         * parse.c (decode_statement): ... here.
414 2013-04-13  Janus Weil  <janus@gcc.gnu.org>
416         PR fortran/55959
417         * expr.c (gfc_simplify_expr): Branch is not unreachable.
419 2013-04-12  Janus Weil  <janus@gcc.gnu.org>
421         PR fortran/56266
422         * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
424 2013-04-12  Tobias Burnus  <burnus@net-b.de>
426         PR fortran/56929
427         * trans-array.c (duplicate_allocatable): Fix handling
428         of scalar coarrays.
430 2013-04-12  Janus Weil  <janus@gcc.gnu.org>
432         PR fortran/56261
433         * gfortran.h (gfc_explicit_interface_required): New prototype.
434         * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
435         required in a proc-ptr assignment.
436         * interface.c (check_result_characteristics): Extra check.
437         * resolve.c (gfc_explicit_interface_required): New function.
438         (resolve_global_procedure): Use new function
439         'gfc_explicit_interface_required'. Do a full interface check.
441 2013-04-12  Tobias Burnus  <burnus@net-b.de>
443         PR fortran/56845
444         * trans-decl.c (gfc_trans_deferred_vars): Restrict
445         static CLASS init to SAVE and -fno-automatic.
447 2013-04-12  Tobias Burnus  <burnus@net-b.de>
449         PR fortran/56845
450         * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
451         allocatable static BT_CLASS.
452         * trans-expr.c (gfc_class_set_static_fields): New function.
453         * trans.h (gfc_class_set_static_fields): New prototype.
455 2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
457         * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
458         * arith.c: Replace gfc_try with bool type.
459         * array.c: Likewise.
460         * check.c: Likewise.
461         * class.c: Likewise.
462         * cpp.c: Likewise.
463         * cpp.h: Likewise.
464         * data.c: Likewise.
465         * data.h: Likewise.
466         * decl.c: Likewise.
467         * error.c: Likewise.
468         * expr.c: Likewise.
469         * f95-lang.c: Likewise.
470         * interface.c: Likewise.
471         * intrinsic.c: Likewise.
472         * intrinsic.h: Likewise.
473         * io.c: Likewise.
474         * match.c: Likewise.
475         * match.h: Likewise.
476         * module.c: Likewise.
477         * openmp.c: Likewise.
478         * parse.c: Likewise.
479         * parse.h: Likewise.
480         * primary.c: Likewise.
481         * resolve.c: Likewise.
482         * scanner.c: Likewise.
483         * simplify.c: Likewise.
484         * symbol.c: Likewise.
485         * trans-intrinsic.c: Likewise.
486         * trans-openmp.c: Likewise.
487         * trans-stmt.c: Likewise.
488         * trans-types.c: Likewise.
490 2013-04-09  Tobias Burnus  <burnus@net-b.de>
492         * gfortran.texi (KIND Type Parameters,
493         Internal representation of LOGICAL variables): Add crossrefs.
494         (Intrinsic Types): Mention issues with _Bool interop.
495         (Naming and argument-passing conventions): New section.
497 2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
499         PR fortran/56782
500         * frontend-passes.c (callback_reduction):  Dont't do
501         any simplification if there is only a single element
502         which has an iterator.
504 2013-04-07  Tobias Burnus  <burnus@net-b.de>
506         PR fortran/56849
507         * iresolve.c (gfc_resolve_reshape): Set shape also
508         with order=.
510 2013-04-04  Janus Weil  <janus@gcc.gnu.org>
512         PR fortran/40881
513         * match.c (gfc_match_return): Remove standard notification.
514         * primary.c (gfc_match_actual_arglist): Add standard notification.
516 2013-04-04  Tobias Burnus  <burnus@net-b.de>
518         PR fortran/50269
519         * gcc/fortran/check.c (is_c_interoperable,
520         gfc_check_c_loc): Correct c_loc array checking
521         for Fortran 2003 and Fortran 2008.
523 2013-04-03  Janus Weil  <janus@gcc.gnu.org>
525         PR fortran/56284
526         PR fortran/40881
527         * decl.c (gfc_match_formal_arglist): Warn about alternate-return
528         arguments.
529         * interface.c (check_dummy_characteristics): Return if symbols are NULL.
531 2013-04-01  Janus Weil  <janus@gcc.gnu.org>
533         PR fortran/56500
534         * symbol.c (gfc_set_default_type): Build class container for
535         IMPLICIT CLASS.
537 2013-03-31  Tobias Burnus  <burnus@net-b.de>
539         * class.c (finalization_scalarizer, finalizer_insert_packed_call,
540         generate_finalization_wrapper): Avoid segfault with absent SIZE=
541         argment to TRANSFER and use correct result kind for SIZE.
542         * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
543         nonmodules.
544         * trans.c (gfc_build_final_call): Handle coarrays.
546 2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
548         * trans-expr.c (build_memcmp_call):  New function.
549         (gfc_build_compare_string):  If the strings
550         compared have constant and equal lengths and
551         the strings are kind=1, or, for kind=4 strings,
552         the test is for (in)equality, use memcmp().
554 2013-03-29  Tobias Burnus  <burnus@net-b.de>
556         PR fortran/35203
557         * trans-decl.c (create_function_arglist): Pass hidden argument
558         for passed-by-value optional+value dummies.
559         * trans-expr.c (gfc_conv_expr_present,
560         gfc_conv_procedure_call): Handle those.
562 2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
564         PR fortran/45159
565         * gfortran.h (gfc_dep_difference):  Add prototype.
566         * dependency.c (discard_nops):  New function.
567         (gfc_dep_difference):  New function.
568         (check_section_vs_section):  Use gfc_dep_difference
569         to calculate the difference of starting indices.
570         * trans-expr.c (gfc_conv_substring):  Use
571         gfc_dep_difference to calculate the length of
572         substrings where possible.
574 2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
576         PR fortran/55806
577         * frontend-passes.c (optimize_code):  Keep track of
578         current code to make code insertion possible.
579         (combine_array_constructor):  New function.
580         (optimize_op):  Call it.
582 2013-03-27  Tobias Burnus  <burnus@net-b.de>
584         PR fortran/56650
585         PR fortran/36437
586         * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
587         gfc_check_storage_size): Update checks.
588         * intrinsic.texi (SIZEOF): Correct class.
589         * intrinsic.h (gfc_simplify_sizeof,
590         gfc_simplify_storage_size): New prototypes.
591         * intrinsic.c (add_functions): Use them.
592         * simplify.c (gfc_simplify_sizeof,
593         gfc_simplify_storage_size): New functions.
595 2013-03-27  Janne Blomqvist  <jb@gcc.gnu.org>
597         PR fortran/25708
598         * module.c (module_locus): Use long for position.
599         (module_content): New variable.
600         (module_pos): Likewise.
601         (prev_character): Remove.
602         (bad_module): Free data instead of closing mod file.
603         (set_module_locus): Use module_pos.
604         (get_module_locus): Likewise.
605         (module_char): use buffer rather than stdio file.
606         (module_unget_char): Likewise.
607         (read_module_to_tmpbuf): New function.
608         (gfc_use_module): Call read_module_to_tmpbuf.
610 2013-03-26  Tobias Burnus  <burnus@net-b.de>
612         PR fortran/56649
613         * simplify.c (gfc_simplify_merge): Simplify more.
615 2013-03-25  Tobias Burnus  <burnus@net-b.de>
617         PR fortran/38536
618         PR fortran/38813
619         PR fortran/38894
620         PR fortran/39288
621         PR fortran/40963
622         PR fortran/45824
623         PR fortran/47023
624         PR fortran/47034
625         PR fortran/49023
626         PR fortran/50269
627         PR fortran/50612
628         PR fortran/52426
629         PR fortran/54263
630         PR fortran/55343
631         PR fortran/55444
632         PR fortran/55574
633         PR fortran/56079
634         PR fortran/56378
635         * check.c (gfc_var_strlen): Properly handle 0-sized string.
636         (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
637         (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
638         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
639         functions.
640         * expr.c (check_inquiry): Add c_sizeof, compiler_version and
641         compiler_options.
642         (gfc_check_pointer_assign): Refine function result check.
643         gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
644         GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
645         GFC_ISYM_C_LOC.
646         (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
647         NAMED_SUBROUTINE.
648         (generate_isocbinding_symbol): Update prototype.
649         (get_iso_c_sym): Remove.
650         (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
651         * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
652         (gfc_intrinsic_sub_interface): Use it.
653         (add_functions, add_subroutines): Add missing C-binding intrinsics.
654         (gfc_intrinsic_func_interface): Add special case for c_loc.
655         gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
656         (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
657         * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
658         gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
659         gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
660         * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
661         functions.
662         * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
663         NAMED_FUNCTION.
664         * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
665         * module.c (create_intrinsic_function): Support subroutines and
666         derived-type results.
667         (use_iso_fortran_env_module): Update calls.
668         (import_iso_c_binding_module): Ditto; update calls to
669         generate_isocbinding_symbol.
670         * resolve.c (find_arglists): Skip for intrinsic symbols.
671         (gfc_resolve_intrinsic): Find intrinsic subs via id.
672         (is_scalar_expr_ptr, gfc_iso_c_func_interface,
673         set_name_and_label, gfc_iso_c_sub_interface): Remove.
674         (resolve_function, resolve_specific_s0): Remove calls to those.
675         (resolve_structure_cons): Fix handling.
676         * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
677         generation.
678         (gen_cptr_param, gen_fptr_param, gen_shape_param,
679         build_formal_args, get_iso_c_sym): Remove.
680         (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
681         (generate_isocbinding_symbol): Support hidden symbols and
682         using c_ptr/c_funptr symtrees for nullptr defs.
683         * target-memory.c (gfc_target_encode_expr): Fix handling
684         of c_ptr/c_funptr.
685         * trans-expr.c (conv_isocbinding_procedure): Remove.
686         (gfc_conv_procedure_call): Remove call to it.
687         (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
688         of c_ptr/c_funptr.
689         * trans-intrinsic.c (conv_isocbinding_function,
690         conv_isocbinding_subroutine): New.
691         (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
692         Call them.
693         * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
694         * trans-types.c (gfc_typenode_for_spec,
695         gfc_get_derived_type): Ditto.
696         (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
698 2013-03-18  Tobias Burnus  <burnus@net-b.de>
700         * gfortran.h (gfc_option_t): Remove flag_whole_file.
701         * invoke.texi (-fno-whole-file): Remove.
702         * lang.opt (fwhole-file): Change to Ignore.
703         * options.c (gfc_init_options, gfc_post_options,
704         gfc_handle_option): Remove !flag_whole_file handling
705         * parse.c (resolve_all_program_units, translate_all_program_units,
706         gfc_parse_file): Ditto.
707         * resolve.c (resolve_global_procedure): Ditto.
708         * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
709         gfc_create_module_variable): Ditto.
710         * trans-types.c (gfc_get_derived_type): Ditto.
712 2013-03-15  Tobias Burnus  <burnus@net-b.de>
714         PR fortran/56615
715         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
716         if they are not simply contiguous.
718 2013-03-11  Tobias Burnus  <burnus@net-b.de>
720         * gfortran.texi (STRUCTURE and RECORD): State more clearly how
721         to convert them into derived types.
723 2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
725         PR fortran/56575
726         * expr.c (gfc_default_initializer): Check that a class declared
727         type has any components.
728         * resolve.c (resolve_fl_derived0): On failing the test for C437
729         set the type to BT_UNKNOWN to prevent repeat error messages.
731 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
733         PR fortran/56477
734         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
736 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
738         PR fortran/54730
739         * array.c (gfc_match_array_constructor): Set a checkpoint before
740         matching a typespec.  Drop it on success, restore it otherwise.
742 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
744         PR fortran/54730
745         * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
746         (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
747         gfc_restore_last_undo_checkpoint): New prototypes.
748         * symbol.c (default_undo_chgset_var): Update initialization.
749         (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
750         free_undo_change_set_data, pop_undo_change_set,
751         gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
752         New functions.
753         (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
754         field's previous value is not overwritten.  Clear gfc_new field.
755         (restore_old_symbol): Restore previous old_symbol field.
756         (gfc_restore_last_undo_checkpoint): New function, using body renamed
757         from gfc_undo_symbols.  Restore the previous change set as current one.
758         (gfc_undo_symbols): New body.
759         (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
760         Call enforce_single_undo_checkpoint.
761         (gfc_symbol_done_2): Ditto.  Free change set data.
763 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
765         * symbol.c (restore_old_symbol): Fix thinko.
767 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
769         * symbol.c (gfc_undo_symbols): Move code...
770         (restore_old_symbol): ... here as a new function.
772 2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
774         * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
775         * gfortran.h: Include vec.h.
776         (gfc_undo_change_set): New struct.
777         * symbol.c (tentative_tbp): Remove struct.
778         (changed_syms, tentative_tbp_list): Remove variables.
779         (default_undo_chgset_var, latest_undo_chgset): New variables.
780         (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
781         gfc_commit_symbols, gfc_commit_symbol,
782         gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
783         Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
785 2013-03-01  Tobias Burnus  <burnus@net-b.de>
787         PR fortran/56491
788         * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
789         * symbol.c (free_components): Free proc-pointer components.
791 2013-03-01  Tobias Burnus  <burnus@net-b.de>
793         * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
794         * trans-io.c (build_dt): Ditto.
796 2013-02-24  Joseph Myers  <joseph@codesourcery.com>
798         * resolve.c (generate_component_assignments): Don't use UTF-8
799         ligature in diagnostic.
801 2013-02-21  Janus Weil  <janus@gcc.gnu.org>
803         PR fortran/56385
804         * trans-array.c (structure_alloc_comps): Handle procedure-pointer
805         components with allocatable result.
807 2013-02-21  Tobias Burnus  <burnus@net-b.de>
809         PR fortran/56416
810         * gfortran.texi (Part II: Language Reference, Extensions,
811         Non-Fortran Main Program): Sort @menu to match actual section order.
812         * intrinsic.texi (Intrinsic Procedures): Ditto.
813         (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
815 2013-02-15  Tobias Burnus  <burnus@net-b.de>
816             Mikael Morin  <mikael@gcc.gnu.org>
818         PR fortran/56318
819         * simplify.c (gfc_simplify_matmul): Fix result shape
820         and matmul result.
822 2013-02-15  Tobias Burnus  <burnus@net-b.de>
824         PR fortran/53818
825         * resolve.c (apply_default_init_local): Don't create an
826         initializer for a result variable.
828 2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
830         PR fortran/56224
831         * gfortran.h (gfc_add_include_path):  Add boolean argument
832         for warn.
833         * scanner.c (gfc_add_include_path):  Pass along warn argument
834         to add_path_to_list.
835         * options.c (gfc_post_options):  Add true warn argument to
836         gfc_add_include_path.
837         (gfc_handle_module_path_options):  Likewise.
838         (gfc_handle_option): Also gfc_add_include_path for intrinsic
839         modules, without warning.
841 2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
842             Tobias Burnus  <burnus@net-b.de>
844         PR testsuite/56138
845         * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
846         results for functions without extra result variable.
848         Revert:
849         2013-01-30  Tobias Burnus  <burnus@net-b.de>
851         PR fortran/56138
852         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
853         results for functions without extra result variable.
855 2013-02-12  Janus Weil  <janus@gcc.gnu.org>
857         PR fortran/46952
858         * resolve.c (resolve_call): Do not check deferred procedures for
859         recursiveness.
861 2013-02-09  Paul Thomas  <pault@gcc.gnu.org>
863         PR fortran/55362
864         * check.c (array_check): It is an error if a procedure is
865         passed.
867 2013-02-08  Mikael Morin  <mikael@gcc.gnu.org>
869         PR fortran/54107
870         * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
871         to error_mark_node on entry.  Detect recursive types.  Build a variadic
872         procedure type if the type is recursive.  Restore the initial
873         backend_decl.
875 2013-02-07  Tobias Burnus  <burnus@net-b.de>
877         PR fortran/54339
878         * gfortran.texi (Standards): Mention TS29113.
879         (Varying Length Character): Mention deferred-length
880         strings.
881         (Fortran 2003 Status): Add unlimited polymorphic.
882         (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
883         (C Interop): Update the section about TS29113.
885 2013-02-06 Paul Thomas  <pault@gcc.gnu.org>
887         PR fortran/55789
888         * trans-array.c (trans_array_constructor): Remove condition
889         'dynamic' = true if the loop ubound is a VAR_DECL.
891 2013-02-04  Paul Thomas  <pault@gcc.gnu.org>
893         PR fortran/56008
894         PR fortran/47517
895         * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
896         the lhs descriptor before it is modified for reallocation. Use
897         it to deallocate allocatable components in the reallocation
898         block.  Nullify allocatable components for newly (re)allocated
899         arrays.
901 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
903         PR fortran/54195
904         * resolve.c (resolve_typebound_procedures): Recurse through
905         resolve_symbol.
907 2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
909         PR fortran/54107
910         PR fortran/54195
911         * gfortran.h (struct gfc_symbol): New field 'resolved'.
912         * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
913         (resolve_symbol): Skip duplicate calls.  Don't check the current
914         namespace.
916 2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
918         PR fortran/50627
919         PR fortran/56054
920         * decl.c (gfc_match_end):  Remove half-ready namespace
921         from parent if the end of a block is missing.
922         * parse.c (parse_module):  Do not put namespace into
923         gsymbol on error.
925 2013-01-30  Tobias Burnus  <burnus@net-b.de>
927         PR fortran/56138
928         * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
929         results for functions without extra result variable.
931 2013-01-29  Janus Weil  <janus@gcc.gnu.org>
932             Mikael Morin  <mikael@gcc.gnu.org>
934         PR fortran/54107
935         * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
936         (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
937         gfc_expr_replace_comp): Delete.
938         (gfc_sym_get_dummy_args): New prototype.
939         * dependency.c (gfc_check_fncall_dependency): Use
940         'gfc_sym_get_dummy_args'.
941         * expr.c (gfc_is_constant_expr): Ditto.
942         (replace_symbol,gfc_expr_replace_symbols,replace_comp,
943         gfc_expr_replace_comp): Deleted.
944         * frontend-passes.c (doloop_code,do_function): Use
945         'gfc_sym_get_dummy_args'.
946         * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
947         gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
948         gfc_check_typebound_override): Ditto.
949         * module.c (MOD_VERSION): Bump module version.
950         (mio_component): Do not read/write 'formal' and 'formal_ns'.
951         * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
952         copy formal args, but just keep a pointer to the interface.
953         (resolve_function,resolve_call,resolve_typebound_generic_call,
954         resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
955         resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
956         resolve_typebound_procedure,check_uop_procedure): Use
957         'gfc_sym_get_dummy_args'.
958         * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
959         (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
960         (gfc_sym_get_dummy_args): New function.
961         * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
962         Use 'gfc_sym_get_dummy_args'.
963         * trans-decl.c (build_function_decl,create_function_arglist,
964         build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
965         add_argument_checking): Ditto.
966         * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
967         gfc_conv_statement_function): Ditto.
968         * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
969         * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
971 2013-01-28  Tobias Burnus  <burnus@net-b.de>
972             Mikael Morin  <mikael@gcc.gnu.org>
974         PR fortran/53537
975         * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
976         interface block.
977         (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
978         * decl.c (gfc_match_data_decl): Ditto.
979         (variable_decl): Remove undeclared type error.
980         (gfc_match_import): Use renamed instead of original name.
982 2013-01-27 Paul Thomas  <pault@gcc.gnu.org>
984         PR fortran/55984
985         PR fortran/56047
986         * gfortran.h : Add associate_var to symbol_attr.
987         * resolve.c (resolve_assoc_var): Set associate_var attribute.
988         If the target class_ok is set, set it for the associate
989         variable.
990         * check.c (allocatable_check): Associate variables should not
991         have the allocatable attribute even if their symbols do.
992         * class.c (gfc_build_class_symbol): Symbols with associate_var
993         set will always have a good class container.
995 2013-01-23  Janus Weil  <janus@gcc.gnu.org>
997         PR fortran/56081
998         * resolve.c (resolve_select): Add argument 'select_type', reject
999         non-scalar expressions.
1000         (resolve_select_type,resolve_code): Pass new argument to
1001         'resolve_select'.
1003 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1005         PR fortran/56052
1006         * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
1007         and DECL_IGNORED_P on select_type_temporary and don't set
1008         DECL_BY_REFERENCE.
1010 2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1012         PR fortran/55919
1013         * scanner.c (add_path_to_list): Copy path to temporary and strip
1014         trailing directory separators before calling stat().
1016 2013-01-17  Richard Biener  <rguenther@suse.de>
1018         * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
1019         dependent on sign of step, avoids repeated evaluation of
1020         step sign test.  Avoid undefined overflow issues by using unsigned
1021         arithmetic.
1023 2013-01-16  Janus Weil  <janus@gcc.gnu.org>
1025         PR fortran/55983
1026         * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
1027         asserting it.
1029 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
1030             Tobias Burnus  <burnus@net-b.de>
1032         PR driver/55884
1033         * lang.opt (fintrinsic-modules-path): Don't accept Joined.
1034         (fintrinsic-modules-path=): New.
1035         * options.c (gfc_handle_option, gfc_get_option_string,
1036         gfc_get_option_string): Handle the latter.
1038 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
1040         PR fortran/52865
1041         * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
1042         and use value of countm1 before the decrement in the condition.
1044 2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
1046         PR fortran/54286
1047         * expr.c (gfc_check_pointer_assign): Check for presence of
1048         's2' before using it.
1050 2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1052         PR fortran/55806
1053         * frontend-passes.c (optimize_reduction):  New function,
1054         including prototype.
1055         (callback_reduction):  Likewise.
1056         (gfc_run_passes):  Also run optimize_reduction.
1057         (copy_walk_reduction_arg):  New function.
1058         (dummy_code_callback):  New function.
1060 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
1062         PR fortran/55935
1063         * trans-expr.c (gfc_conv_structure): Call
1064         unshare_expr_without_location on the ctor elements.
1066 2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
1068         PR fortran/54286
1069         * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
1070         and rvalue interfaces are presented to gfc_compare_interfaces.
1071         Simplify references to interface names by using the symbols
1072         themselves. Call gfc_compare_interfaces with s1 and s2 inter-
1073         changed to overcome the asymmetry of this function. Do not
1074         repeat the check for the presence of s1 and s2.
1076 2013-01-12  Janus Weil  <janus@gcc.gnu.org>
1078         PR fortran/55072
1079         * trans-array.c (gfc_conv_array_parameter): No packing was done for
1080         full arrays of derived type.
1082 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
1084         PR fortran/55868
1085         * class.c (get_unique_type_string): Change $tar to STAR and
1086         replace sprintf by strcpy where there is no formatting.
1087         * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
1089 2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
1091         PR fortran/47203
1092         * module.c (check_for_ambiguous): Get the current program unit using
1093         gfc_current_ns.
1095 2013-01-09  Tobias Burnus  <burnus@net-b.de>
1097         PR fortran/55758
1098         * resolve.c (resolve_symbol): Reject non-C_Bool logicals
1099         in BIND(C) procedures with -std=f*.
1101 2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
1103         PR fortran/55618
1104         * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
1105         character function arguments to elemental procedures in
1106         scalarization loops.
1108 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1110         PR fortran/55763
1111         * gfortran.h (gfc_check_assign_symbol): Update prototype.
1112         * decl.c (add_init_expr_to_sym, do_parm): Update call.
1113         * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
1114         improve error location; support components.
1115         (gfc_check_pointer_assign): Handle component assignments.
1116         * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
1117         (resolve_values): Update call.
1118         (resolve_structure_cons): Avoid double diagnostic.
1120 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1121             Thomas Koenig  <tkoenig@gcc.gnu.org>
1123         PR fortran/55852
1124         * expr.c (gfc_build_intrinsic_call): Avoid clashes
1125         with user's procedures.
1126         * gfortran.h (gfc_build_intrinsic_call): Update prototype.
1127         * simplify.c (gfc_simplify_size): Update call.
1128         * class.c (finalization_scalarizer, finalization_get_offset,
1129         finalizer_insert_packed_call, generate_finalization_wrapper):
1130         Clean up by using gfc_build_intrinsic_call.
1132 2013-01-07  Tobias Burnus  <burnus@net-b.de>
1134         PR fortran/55763
1135         * resolve.c (resolve_select_type): Reject intrinsic types for
1136         a non-unlimited-polymorphic selector.
1138 2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
1140         PR fortran/53876
1141         PR fortran/54990
1142         PR fortran/54992
1143         * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
1144         to see if it is GFC_CLASS_TYPE_P.
1145         * trans-expr.c (gfc_get_vptr_from_expr): The same.
1146         (gfc_conv_class_to_class): If the types are not the same,
1147         cast parmese->expr to the type of ctree.
1148         * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
1149         CLASS components must be set.
1151 2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
1153         PR fortran/42769
1154         PR fortran/45836
1155         PR fortran/45900
1156         * module.c (read_module): Don't reuse local symtree if the associated
1157         symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
1158         ambiguous.
1159         * resolve.c (resolve_call): Use symtree's name instead of symbol's to
1160         lookup the symtree.
1162 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
1163             Mikael Morin  <mikael@gcc.gnu.org>
1165         PR fortran/55827
1166         * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
1167         e->symtree == NULL.
1168         * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
1170 2013-01-05  Tobias Burnus  <burnus@net-b.de>
1172         * class.c (finalize_component): Used passed offset expr.
1173         (finalization_get_offset): New static function.
1174         (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
1175         to handle noncontiguous arrays.
1177 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1179         * trans.c (gfc_build_final_call): New function.
1180         * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
1181         New function prototypes.
1182         * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
1183         conv_scalar_to_descriptor, removed static attribute.
1184         (gfc_conv_procedure_call): Honor renaming.
1186 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1188         * intrinsic.c (add_functions): New internal intrinsic
1189         function GFC_PREFIX ("stride").
1190         * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
1191         * intrinsic.h (gfc_resolve_stride): New prototypes.
1192         * iresolve.c (gfc_resolve_stride): New function.
1193         * trans-intrinsic.c (conv_intrinsic_stride): New static
1194         function.
1195         (gfc_conv_intrinsic_function): Use it.
1197 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1199         * class.c (gfc_find_intrinsic_vtab): Add _final
1200         component.
1201         * decl.c (gfc_match_null): Remove superfluous
1202         variadic argument to gfc_match.
1204 2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
1206         PR fortran/55172
1207         * match.c (copy_ts_from_selector_to_associate): Remove call to
1208         gfc_resolve_expr and replace it with explicit setting of the
1209         array reference type.
1210         * resolve.c (resolve_select_type): It is an error if the
1211         selector is coindexed.
1213 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1215         PR fortran/55763
1216         * decl.c (gfc_match_null): Parse and reject MOLD.
1218 2013-01-04  Tobias Burnus  <burnus@net-b.de>
1220         PR fortran/55854
1221         PR fortran/55763
1222         * class.c (gfc_class_null_initializer): Fix finding the vtab.
1223         (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
1225 2013-01-03  Janus Weil  <janus@gcc.gnu.org>
1227         PR fortran/55855
1228         * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
1229         of rvalue. Correct hyphenation in error message.
1231 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1233         * gfortranspec.c (lang_specific_driver): Update copyright notice
1234         dates.
1236 Copyright (C) 2013 Free Software Foundation, Inc.
1238 Copying and distribution of this file, with or without modification,
1239 are permitted in any medium without royalty provided the copyright
1240 notice and this notice are preserved.