2012-11-04 Janus Weil <janus@gcc.gnu.org>
[official-gcc.git] / gcc / fortran / ChangeLog
blob084f1f8c53bc2c390ba20524ff85cfceb03677d5
1 2012-11-04  Janus Weil  <janus@gcc.gnu.org>
3         PR fortran/55199
4         * primary.c (gfc_match_varspec): Clear typespec if it cannot be
5         determined at this point.
7 2012-10-31  Janus Weil  <janus@gcc.gnu.org>
9         PR fortran/53718
10         * trans.h (GFC_DECL_PUSH_TOPLEVEL): Removed.
11         * trans-decl.c (gfc_get_symbol_decl,gfc_generate_function_code): Remove
12         GFC_DECL_PUSH_TOPLEVEL.
13         (build_function_decl): Do not push __copy procedure to toplevel.
15 2012-10-31  Tobias Burnus  <burnus@net-b.de>
17         PR fortran/55134
18         * trans-array.c (gfc_conv_array_parameter): Regard AS_DEFERRED as
19         array with descriptor.
21 2012-10-28  Tobias Burnus  <burnus@net-b.de>
23         PR fortran/54958
24         * gfortran.h (gfc_resolve_iterator_expr,
25         gfc_check_vardef_context): Update prototype.
26         * expr.c (gfc_check_vardef_context): Add own_scope
27         argument and honour it.
28         * resolve.c (gfc_resolve_iterator_expr): Add own_scope
29         argument and honour it.
30         (resolve_deallocate_expr, resolve_allocate_expr,
31         resolve_data_variables, resolve_transfer
32         resolve_lock_unlock, resolve_code): Update calls.
33         * array.c (resolve_array_list): Ditto.
34         * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
35         * interface.c (compare_actual_formal): Ditto.
36         * intrinsic.c (check_arglist): Ditto.
37         * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
39 2012-10-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
41         * trans.c (gfc_allocate_allocatable):  Revert accidental
42         commit.
44 2012-10-24  Janus Weil  <janus@gcc.gnu.org>
46         PR fortran/55037
47         * trans-expr.c (gfc_conv_procedure_call): Move a piece of code and
48         remove an assert.
50 2012-10-21  Tobias Burnus  <burnus@net-b.de>
52         PR fortran/54725
53         * Make-lang.in (CFLAGS-cpp.o): Use TARGET_SYSTEM_ROOT_DEFINE.
54         * cpp.o (gfc_cpp_init_options): Use it for
55         setting gfc_cpp_option.sysroot.
57 2012-10-21  Thomas König  <tkoenig@gcc.gnu.org>
59         PR fortran/54465
60         * lang.opt (Wextra):  Add.
61         * invoke.texi:  Document that -Wc-binding-type, -Wconversion
62         and -Wline-truncation are implied by -Wall.  Document that
63         -Wcompare-reals is implied by -Wextra.  Document -Wextra.
64         * options.c (set_Wextra):  New function.
65         (gfc_handle_option):  Handle -Wextra.
67 2012-10-19  Janus Weil  <janus@gcc.gnu.org>
69         PR fortran/54224
70         * trans-expr.c (conv_function_val): Set TREE_USED.
72 2012-10-18  Tobias Burnus  <burnus@net-b.de>
74         PR fortran/54884
75         * resolve.c (specification_expr): Change to bool.
76         (resolve_formal_arglist, resolve_symbol): Set
77         specification_expr to true before resolving the array spec.
78         (resolve_variable, resolve_charlen, resolve_fl_variable):
79         Properly reset specification_expr.
80         (resolve_function): Set public_use when used in
81         a specification expr.
83 2012-10-16  Tobias Burnus  <burnus@net-b.de>
85         PR fortran/50981
86         PR fortran/54618
87         * trans.h (gfc_conv_derived_to_class, gfc_conv_class_to_class):
88         Update prototype.
89         * trans-stmt.c (trans_associate_var,gfc_trans_allocate): Update
90         calls to those functions.
91         * trans-expr.c (gfc_conv_derived_to_class, gfc_conv_class_to_class,
92         gfc_conv_expr_present): Handle absent polymorphic arguments.
93         (class_scalar_coarray_to_class): New function.
94         (gfc_conv_procedure_call): Update calls.
96 2012-10-12  Janus Weil  <janus@gcc.gnu.org>
98         PR fortran/40453
99         * interface.c (check_dummy_characteristics): Recursively check dummy
100         procedures.
102 2012-10-11  Janus Weil  <janus@gcc.gnu.org>
104         PR fortran/54784
105         * trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
106         to the _data component for polymorphic allocation with SOURCE.
108 2012-10-06  Janus Weil  <janus@gcc.gnu.org>
110         PR fortran/54832
111         * resolve.c (resolve_fl_derived0): Correctly copy the 'class_ok'
112         attribute for proc-ptr components with RESULT variable.
114 2012-10-06  Janus Weil  <janus@gcc.gnu.org>
116         PR fortran/45521
117         * interface.c (generic_correspondence): Implement additional
118         distinguishability criteria of F08.
119         (compare_actual_formal): Reject data object as actual argument for
120         procedure formal argument.
122 2012-10-04  Tobias Burnus  <burnus@net-b.de>
124         * expr.c (scalarize_intrinsic_call): Plug memory leak.
125         * frontend-passes.c (gcc_assert): Extend assert.
126         * interface.c (gfc_compare_derived_types): Fix comparison.
127         (gfc_check_operator_interface): Move up to make this error
128         message reachable.
129         (get_sym_storage_size): Remove always-true checks.
130         * io.c (format_lex): Add comment.
131         (gfc_free_wait): Free memory.
132         * match.c (gfc_match_select_type): Ditto. 
133         * matchexpr.c (match_level_3): Ditto.
134         * primary.c (match_string_constant): Ditto.
135         (match_actual_arg): Check return value.
136         * resolve.c (gfc_resolve_substring_charlen,
137         resolve_typebound_generic_call, resolve_typebound_function,
138         resolve_typebound_subroutine): Free memory.
139         * trans-types.c (gfc_get_derived_type): Remove always-true check.
141 2012-10-02  Janus Weil  <janus@gcc.gnu.org>
143         PR fortran/54778
144         * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
146 2012-09-30  Janus Weil  <janus@gcc.gnu.org>
148         PR fortran/54667
149         * intrinsic.texi (C_F_POINTER): Fix description.
150         * resolve.c (gfc_iso_c_sub_interface): Add a check for FPTR argument
151         of C_F_POINTER. Modify two error messages. Cleanup.
153 2012-09-24  Tobias Burnus  <burnus@net-b.de>
155         PR fortran/54618
156         PR fortran/54690
157         * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
158         handling for allocatable BT_CLASS.
160 2012-09-24  Lawrence Crowl  <crowl@google.com>
162         * trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
163         * target-memory.c (gfc_interpret_logical): Likewise.
165 2012-09-23  Tobias Burnus  <burnus@net-b.de>
167         * parse.c (parse_derived): Don't set attr.alloc_comp
168         for pointer components with allocatable subcomps.
170         PR fortran/54599
171         * resolve.c (resolve_fl_namelist): Remove superfluous
172         NULL check.
173         * simplify.c (simplify_min_max): Remove unreachable code.
174         * trans-array.c (gfc_trans_create_temp_array): Change
175         a condition into an assert.
177         PR fortran/54618
178         * trans-expr.c (gfc_trans_class_init_assign): Guard
179         re-setting of the _data by gfc_conv_expr_present.
180         (gfc_conv_procedure_call): Fix INTENT(OUT) handling
181         for allocatable BT_CLASS.
183 2012-09-22  Thomas König  <tkoenig@gcc.gnu.org>
185         PR fortran/54599
186         * dependency.c (gfc_dep_compare_expr):  Clarify logic,
187         remove dead code.
189 2012-09-20  Tobias Burnus  <burnus@net-b.de>
191         PR fortran/54599
192         * cpp.c (print_line): Properly handle extern C.
194 2012-09-20  Martin Jambor  <mjambor@suse.cz>
196         * trans-decl.c (gfc_get_extern_function_decl): Push NULL cfun.  Do not
197         set and restore current_function_decl.
198         (gfc_init_coarray_decl): Do not set and restore current_function_decl.
200 2012-09-17  Tobias Burnus  <burnus@net-b.de>
202         PR fortran/54608
203         * simplify.c (gfc_simplify_scan, gfc_simplify_verify):
204         Fix handling of BACK=variable.
206 2012-09-17  Janus Weil  <janus@gcc.gnu.org>
208         PR fortran/54285
209         * expr.c (gfc_check_pointer_assign): Correctly handle procedure pointers
210         as function results.
211         * primary.c (gfc_match_varspec): Allow to call a PPC with proc-ptr
212         result.
214 2012-09-17  Tobias Burnus  <burnus@net-b.de>
216         PR fortran/54603
217         * trans-expr.c (gfc_trans_subcomponent_assign): Handle
218         proc-pointer components.
220 2012-09-17  Tobias Burnus  <burnus@net-b.de>
222         PR fortran/54599
223         * error.c (error_print): Move increment out of the assert.
224         * interface.c (gfc_compare_derived_types): Add assert.
225         (get_expr_storage_size): Remove always-true logical condition.
226         * resolve.c (resolve_allocate_expr): Fix looping logic.
227         * target-memory.c (gfc_target_expr_size): Add assert.
229 2012-09-16  Janus Weil  <janus@gcc.gnu.org>
231         PR fortran/54594
232         * resolve.c (get_checked_tb_operator_target): Add a reference to the
233         relevant quote from the F08 standard.
235 2012-09-16  Janus Weil  <janus@gcc.gnu.org>
237         PR fortran/54594
238         * interface.c (compare_type_rank): Handle CLASS arrays.
240 2012-09-16  Janus Weil  <janus@gcc.gnu.org>
242         PR fortran/54387
243         * expr.c (gfc_check_pointer_assign): Check for result of embracing
244         function.
246 2012-09-16  Tobias Burnus  <burnus@net-b.de>
248         * trans-decl.c (gfc_generate_function_code): Fix
249         gfc_option.coarray check.
250         * trans-stmt.c (compute_inner_temp_size): Fix handling
251         of gfc_option.rtcheck.
253 2012-09-16  Mikael Morin  <mikael@gcc.gnu.org>
255         * symbol.c (gfc_undo_symbols): Correctly undo namelists.
257 2012-09-15  Tobias Burnus  <burnus@net-b.de>
259         * trans-io.c (gfc_trans_transfer): Add an assert.
261 2012-09-15  Tobias Burnus  <burnus@net-b.de>
263         * arith.c (arith_power): Call gfc_free_expr in case of error.
264         * array.c (gfc_match_array_constructor): Initialize variable.
265         (gfc_resolve_character_array_constructor): Remove superfluous check.
266         (gfc_array_dimen_size): Add assert.
267         * check.c (numeric_check): Fix implicit typing.
268         * class.c (gfc_build_class_symbol): Add assert.
269         (finalize_component): Free memory.
270         * dump-parse-tree.c (show_namespace): Add assert.
271         * trans-io.c (transfer_namelist_element, transfer_expr): Avoid
272         memory leakage.
273         (gfc_trans_transfer): Add assert.
274         * trans.c (gfc_trans_runtime_check): Call va_end
276 2012-09-15  Tobias Burnus  <burnus@net-b.de>
278         * match.c (lock_unlock_statement, sync_statement): Fix potential
279         double freeing.
280         (sync_statement): Remove unreachable code.
281         * simplify.c (gfc_simplify_bessel_n2): Avoid double freeing.
282         (gfc_simplify_repeat): Remove bogus code.
283         * target-memory.h (gfc_target_encode_expr): Update prototype.
284         * target-memory.c (gfc_target_encode_expr, encode_array,
285         encode_derived): Return unsigned HOST_WIDE_INT.
286         (gfc_target_interpret_expr): Add assert.
287         (gfc_merge_initializers): Fix "== 0" check for mpz_t.
288         * symbol.c (gfc_get_typebound_proc): Add assert.
289         (gfc_merge_initializers): Remove unreachable check.
291 2012-09-13  Tobias Burnus  <burnus@net-b.de>
293         PR fortran/54556
294         * resolve.c (resolve_formal_arglist): Allow VALUE arguments
295         with implicit_pure.
296         (gfc_impure_variable): Don't check gfc_pure such that the
297         function also works for gfc_implicit_pure procedures.
299 2012-09-12  Tobias Burnus  <burnus@net-b.de>
301         PR fortran/54225
302         PR fortran/53306
303         * array.c (match_subscript, gfc_match_array_ref): Fix
304         diagnostic of coarray's '*'.
306 2012-09-07  Mikael Morin  <mikael@gcc.gnu.org>
308         PR fortran/54208
309         * simplify.c (simplify_bound_dim): Resolve array spec before
310         proceeding with simplification.
312 2012-09-06  Tobias Burnus  <burnus@net-b.de>
314         PR fortran/54463
315         * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Fix matmul
316         call to BLAS if the default-kind has been promoted.
318 2012-09-05  Tobias Burnus  <burnus@net-b.de>
320         PR fortran/54462
321         * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.
323 2012-09-04  Janus Weil  <janus@gcc.gnu.org>
325         PR fortran/54435
326         PR fortran/54443
327         * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA
328         for BT_CLASS.
330 2012-09-03  Tobias Burnus  <burnus@net-b.de>
332         PR fortran/54467
333         * class.c (gfc_find_derived_vtab): Fix disabling of _final
334         by continuing to generate normal type-bound procedures.
336 2012-09-03  Tobias Burnus  <burnus@net-b.de>
338         * class.c (gfc_find_derived_vtab): Disable ABI-breaking
339         generation of the "_final" subroutine for now.
341 2012-09-03  Tobias Burnus  <burnus@net-b.de>
343         * class.c (finalize_component): Fixes to the comment.
345 2012-09-03  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
346             Tobias Burnus  <burnus@net-b.de>
348         PR fortran/37336
349         * gfortran.h (symbol_attribute): Add artificial.
350         * module.c (mio_symbol_attribute): Handle attr.artificial
351         * class.c (gfc_build_class_symbol): Defer creation of the vtab
352         if the DT has finalizers, mark generated symbols as
353         attr.artificial.
354         (has_finalizer_component, finalize_component,
355         finalization_scalarizer, generate_finalization_wrapper):
356         New static functions.
357         (gfc_find_derived_vtab): Add _final component and call
358         generate_finalization_wrapper.
359         * dump-parse-tree.c (show_f2k_derived): Use resolved
360         proc_tree->n.sym rather than unresolved proc_sym.
361         (show_attr): Handle attr.artificial.
362         * resolve.c (gfc_resolve_finalizers): Ensure that the vtab exists.
363         (resolve_fl_derived): Resolve finalizers before
364         generating the vtab.
365         (resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
366         skip artificial symbols.
367         (resolve_fl_derived0): Skip artificial symbols.
369 2012-09-02  Tobias Burnus  <burnus@net-b.de>
371         PR fortran/54426
372         * symbol.c (find_common_symtree): New function.
373         (gfc_undo_symbols): Use it; free common_head if needed.
375 2012-08-28  Tobias Burnus  <burnus@net-b.de>
377         PR fortran/54389
378         * trans-decl.c (gfc_get_extern_function_decl,
379         build_function_decl): Don't mark impure elemental
380         functions as DECL_PURE_P and honour implicit_pure.
382 2012-08-28  Tobias Burnus  <burnus@net-b.de>
384         PR fortran/54382
385         * error.c (show_locus): Avoid out of bound access.
387 2012-08-28  Tobias Burnus  <burnus@net-b.de>
389         PR fortran/54384
390         * decl.c (match_data_constant): Add missing gfc_free_expr.
391         (top_val_list): Remove always-true condition.
392         * data.c (get_array_index, create_character_initializer):
393         Free temporary expressions.
394         (gfc_assign_data_value): Free expression when aborting.
396 2012-08-28  Tobias Burnus  <burnus@net-b.de>
398         PR fortran/54384
399         * symbol.c (gfc_copy_formal_args): Set also sym->formal_ns.
401 2012-08-27  Tobias Burnus  <burnus@net-b.de>
403         PR fortran/54384
404         * resolve.c (gfc_resolve_character_operator): Free temporary
405         variables.
406         * trans-expr.c (gfc_conv_statement_function): Ditto.
408 2012-08-27  Tobias Burnus  <burnus@net-b.de>
410         PR fortran/54384
411         * dependency.c (check_section_vs_section): Use gfc_free_expr
412         instead of free.
413         * trans-intrinsic.c (conv_generic_with_optional_char_arg): Use
414         gfc_free_symbol instead of free.
416 2012-08-27  Tobias Burnus  <burnus@net-b.de>
418         PR fortran/54384
419         * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss
420         and loop.
422 2012-08-27  Tobias Burnus  <burnus@net-b.de>
424         PR fortran/41093
425         * gfortran.h (gfc_common_head): Add "int refs".
426         * match.c (gfc_match_common): Increment refs.
427         * resolve.c (resolve_symbol): Only increment formal_ns->refs
428         if formal_ns is not sym->ns.
429         * symbol.c (gfc_free_symbol): Only free formal_ns if
430         if formal_ns is not sym->ns. Free common_block if refs is one.
431         (gfc_release_symbol): Release formal_ns only if the
432         symbol is not ENTRY of a module.
433         * decl.c (get_proc_name): Don't increment gfc_current_ns->refs.
434         * parse.c (parse_interface): Incement proc_unit->refs++ for
435         proc-pointer result variables.
436         * module.c (mio_symbol): Don't increase sym->refs for its
437         use in sym->formal_ns->proc_name.
439 2012-08-27  Tobias Burnus  <burnus@net-b.de>
441         PR fortran/54370
442         * trans-stmt.c (gfc_trans_do_while): Don't change the logical
443         kind for negation of the condition.
445 2012-08-27  Tobias Burnus  <burnus@net-b.de>
447         * options.c (set_Wall): Don't set for -Wcompare-reals.
448         * invoke.texi (-Wall, -Wcompare-reals): -Wall no longer
449         implies -Wcompare-reals.
451 2012-08-24  Simon Baldwin  <simonb@google.com>
453         * lang.opt (-cpp=): Mark flag NoDWARFRecord.
455 2012-08-23  Tobias Burnus  <burnus@net-b.de>
457         PR fortran/54350
458         * trans-array.c (free_ss_info): Free data.array.subscript.
459         (gfc_free_ss): No longer free data.array.subscript.
460         (walk_coarray): New function, moved from trans-intrinsic.c
461         (gfc_conv_expr_descriptor): Walk array descriptor instead
462         of taking passed "ss".
463         (get_array_ctor_all_strlen, gfc_add_loop_ss_code,
464         gfc_conv_array_parameter): Update call and cleanup ss handling.
465         * trans-array.h (gfc_conv_expr_descriptor,
466         gfc_conv_array_parameter): Update prototype.
467         * trans-expr.c (gfc_conv_derived_to_class,
468         conv_isocbinding_procedure, gfc_conv_procedure_call,
469         gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
470         gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
471         call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and
472         clean up.
473         * trans-intrinsic.c (walk_coarray): Moved to trans-array.c
474         (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
475         gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
476         gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
477         gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
478         gfc_conv_intrinsic_transfer, gfc_conv_allocated,
479         gfc_conv_associated, gfc_conv_intrinsic_loc,
480         conv_intrinsic_move_alloc): Update calls.
481         * trans-io.c (gfc_convert_array_to_string, set_internal_unit,
482         gfc_trans_transfer): Ditto.
483         * trans-stmt.c (gfc_conv_elemental_dependencies,
484         gfc_trans_sync, trans_associate_var,
485         gfc_trans_pointer_assign_need_temp): Ditto.
487 2012-08-23  Jakub Jelinek  <jakub@redhat.com>
489         * trans-decl.c (trans_function_start, generate_coarray_init,
490         create_main_function, gfc_generate_constructors): Call
491         allocate_struct_function instead of init_function_start.
493 2012-08-22  Tobias Burnus  <burnus@net-b.de>
495         * trans-expr.c (gfc_copy_class_to_class,
496         gfc_trans_arrayfunc_assign): Free loop and ss data.
497         * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data.
499 2012-08-21  Tobias Burnus  <burnus@net-b.de>
501         * parse.c (parse_contained): Include EXEC_END_PROCEDURE
502         in ns->code to make sure the gfc_code is freed.
504 2012-08-20  Tobias Burnus  <burnus@net-b.de>
506         PR fortran/54301
507         * expr.c (gfc_check_pointer_assign): Warn when a pointer,
508         which is a function result, might outlive its target.
510 2012-08-20  Tobias Burnus  <burnus@net-b.de>
512         PR fortran/54301
513         * expr.c (gfc_check_pointer_assign): Warn when the pointer
514         might outlive its target.
515         * gfortran.h (struct gfc_option_t): Add warn_target_lifetime.
516         * options.c (gfc_init_options, set_wall, gfc_handle_option):
517         handle it.
518         * invoke.texi (-Wtarget-lifetime): Document it.
519         (-Wall): Implied it.
520         * lang.opt (-Wtarget-lifetime): New flag.
522 2012-08-19  Thomas König  <tkoenig@gcc.gnu.org>
524         PR fortran/54298
525         * gfortran.h (struct gfc_option_t): Add warn_compare_reals.
526         * lang.opt:  Add Wcompare-reals.
527         * invoke.texi:  Document -Wcompare-reals.
528         * resolve.c (resolve_operator):  If -Wcompare-reals is in effect,
529         warn about equality/inequality comparisions for REAL and COMPLEX.
530         * options.c (gfc_init_options):  Set warn_compare_reals.
531         (set_Wall):  Include warn_compare_reals in Wall.
532         (gfc_handle_option):  Handle Wcompare_reals.
534 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
536         * array.c (gfc_match_array_ref): Fix up memset arguments.
538 2012-08-16   Diego Novillo  <dnovillo@google.com>
540         Revert
542         PR bootstrap/54281
543         * gfortran.h: Do not include gmp.h.
545 2012-08-16   Diego Novillo  <dnovillo@google.com>
547         PR bootstrap/54281
548         * gfortran.h: Do not include gmp.h.
550 2012-08-15  Janus Weil  <janus@gcc.gnu.org>
552         PR fortran/54243
553         PR fortran/54244
554         * resolve.c (check_typebound_baseobject): Check for class_ok attribute.
555         (resolve_procedure_interface,resolve_fl_derived0): Copy class_ok
556         attribute.
558 2012-08-14  Mikael Morin  <mikael@gcc.gnu.org>
560         PR fortran/47586
561         * trans-expr.c (expr_is_variable): Handle regular, procedure pointer,
562         and typebound functions returning a data pointer.
564 2012-08-14  Mikael Morin  <mikael@gcc.gnu.org>
566         * decl.c (match_ppc_decl): Copy the procedure interface's symbol
567         as procedure interface's result.
569 2012-08-14  Mikael Morin  <mikael@gcc.gnu.org>
571         * trans-expr.c (gfc_trans_scalar_assign): Rename argument,
572         extend comment.
574 2012-08-14  Mikael Morin  <mikael@gcc.gnu.org>
576         * gfortran.h (gfc_get_proc_ptr_comp): New prototype.
577         (gfc_is_proc_ptr_comp): Update prototype.
578         * expr.c (gfc_get_proc_ptr_comp): New function based on the old
579         gfc_is_proc_ptr_comp.
580         (gfc_is_proc_ptr_comp): Call gfc_get_proc_ptr_comp.
581         (gfc_specification_expr, gfc_check_pointer_assign): Use
582         gfc_get_proc_ptr_comp.
583         * trans-array.c (gfc_walk_function_expr): Likewise.
584         * resolve.c (resolve_structure_cons, update_ppc_arglist,
585         resolve_ppc_call, resolve_expr_ppc): Likewise.
586         (resolve_function): Update call to gfc_is_proc_ptr_comp.
587         * dump-parse-tree.c (show_expr): Likewise.
588         * interface.c (compare_actual_formal): Likewise.
589         * match.c (gfc_match_pointer_assignment): Likewise.
590         * primary.c (gfc_match_varspec): Likewise.
591         * trans-io.c (gfc_trans_transfer): Likewise.
592         * trans-expr.c (gfc_conv_variable, conv_function_val,
593         conv_isocbinding_procedure, gfc_conv_procedure_call,
594         gfc_trans_pointer_assignment): Likewise.
595         (gfc_conv_procedure_call, gfc_trans_array_func_assign):
596         Use gfc_get_proc_ptr_comp.
598 2012-08-14  Tobias Burnus  <burnus@net-b.de>
600         PR fortran/40881
601         * error.c (gfc_notify_std): Reset cur_error_buffer->flag flag
602         when the error/warning has been printed.
603         * gfortran.h (gfc_sl_type): Add ST_LABEL_DO_TARGET.
604         * match.c (gfc_match_do): Use ST_LABEL_DO_TARGET.
605         * parse.c (check_statement_label): Use ST_LABEL_DO_TARGET.
606         (parse_executable): Add obsolescence check for DATA.
607         * resolve.c (resolve_branch): Handle ST_LABEL_DO_TARGET.
608         * symbol.c (gfc_define_st_label, gfc_reference_st_label):
609         Add obsolescence diagnostics.
610         * trans-stmt.c (gfc_trans_label_assign): Handle ST_LABEL_DO_TARGET.
612 2012-08-14  Tobias Burnus  <burnus@net-b.de>
614         PR fortran/54234
615         * check.c (gfc_check_cmplx): Add -Wconversion warning
616         when converting higher-precision REAL to default-precision
617         CMPLX without kind= parameter.
619 2012-08-12  Tobias Burnus  <burnus@net-b.de>
621         PR fortran/54221
622         * trans-decl.c (gfc_finish_var_decl, build_function_decl):
623         Fix setting private module vars/procs as TREE_PUBLIC(...) = 0.
625 2012-08-09  Tobias Burnus  <burnus@net-b.de>
627         PR fortran/54199
628         * intrinsic.c (gfc_warn_intrinsic_shadow): Better warning
629         for internal procedures.
631 2012-08-06  Janus Weil  <janus@gcc.gnu.org>
633         PR fortran/35831
634         * interface.c (check_result_characteristics): New function, which checks
635         the characteristics of function results.
636         (gfc_compare_interfaces,gfc_check_typebound_override): Call it.
638 2012-08-02  Thomas König  <tkoenig@gcc.gnu.org>
640          PR fortran/54033
641          * scanner.c (add_path_to_list):  New argument warn.  Don't
642          warn if it is true.
643          (gfc_add_include_path):  Warn if directory is missing.
644          (gfc_add_intrinsic_modules_path):  Do not warn if directory
645          is missing.
646          * optinons.c (gfc_handle_option):  Do not add directory
647          for intrinsic modules to normal include path.
649 2012-08-03  Mikael Morin  <mikael@gcc.gnu.org>
651         PR fortran/54166
652         * trans-array.c (set_loop_bounds): Access specinfo using spec_dim.
654 2012-08-02  Mikael Morin  <mikael@gcc.gnu.org>
656         PR fortran/48820
657         * trans-array.c (gfc_conv_ss_startstride): Set the intrinsic
658         result's lower and upper bounds according to the rank.
659         (set_loop_bounds): Set the loop upper bound in the intrinsic case.
661 2012-08-02  Mikael Morin  <mikael@gcc.gnu.org>
663         * trans-array.c (set_loop_bounds): Allow non-array-section to be
664         chosen using the stride and lower bound criteria.
666 2012-08-02  Mikael Morin  <mikael@gcc.gnu.org>
668         * trans-array.c (set_loop_bounds): Remove useless dimension check.
669         Don't update loopspec if it would loose the wanted stride criterion.
671 2012-08-02  Mikael Morin  <mikael@gcc.gnu.org>
673         * trans-array.h (gfc_conv_descriptor_rank): New prototype.
674         * trans-array.c (gfc_conv_descriptor_rank): New function moved and
675         renamed ...
676         * trans-intrinsic.c (get_rank_from_desc): ... from this one.
677         (gfc_conv_intrinsic_rank, gfc_conv_intrinsic_bound,
678         gfc_conv_associated): Also rename function calls.
680 2012-08-02  Mikael Morin  <mikael@gcc.gnu.org>
682         * iresolve.c (resolve_bound, gfc_resolve_shape):
683         Don't set the shape for assumed rank arrays.
684         * simplify.c (gfc_simplify_shape): Don't try to simplify if the
685         argument is assumed rank.
687 2012-08-02  Mikael Morin  <mikael@gcc.gnu.org>
689         * array.c (gfc_copy_array_ref): Don't copy the offset field.
690         * expr.c (find_array_section): Ignore the offset field.
691         * trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply
692         any interface mapping to the offset field.
693         * gfortran.h (struct gfc_array_ref): Remove the offset field.
695 2012-08-02  Janus Weil  <janus@gcc.gnu.org>
697         PR fortran/54147
698         * resolve.c (check_proc_interface): New routine for PROCEDURE interface
699         checks.
700         (resolve_procedure_interface,resolve_typebound_procedure,
701         resolve_fl_derived0): Call it.
703 2012-08-01  Thomas König  <tkoenig@gcc.gnu.org>
705         PR fortran/54033
706         * scanner.c (add_path_to_list): Emit warning if an error occurs
707         for an include path, if it is not present or if it is not a
708         directory.  Do not add the path in these cases.
710 2012-07-31  Janus Weil  <janus@gcc.gnu.org>
712         PR fortran/42418
713         * decl.c (match_procedure_interface): Move some checks to
714         'resolve_procedure_interface'. Set flavor if appropriate.
715         * expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'.
716         * intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which
717         identify a procedure as being non-intrinsic.
718         * resolve.c (resolve_procedure_interface): Checks moved here from
719         'match_procedure_interface'. Minor cleanup.
720         (resolve_formal_arglist,resolve_symbol): Cleanup of
721         'resolve_procedure_interface'
722         (resolve_actual_arglist,is_external_proc): Cleanup of
723         'gfc_is_intrinsic'.
725 2012-07-31  Janus Weil  <janus@gcc.gnu.org>
727         PR fortran/54134
728         * dependency.c (gfc_dep_compare_expr): Check if arguments are NULL.
730 2012-07-31  Tobias Burnus  <burnus@net-b.de>
732         * interface.c (gfc_procedure_use): Return gfc_try instead of void.
733         * gfortran.h (gfc_procedure_use): Update prototype.
734         * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable
735         procedures for c_funloc for TS29113.
736         * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add
737         diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer.
739 2012-07-30  Janus Weil  <janus@gcc.gnu.org>
741         PR fortran/51081
742         * gfortran.h (gfc_resolve_intrinsic): Add prototype.
743         * expr.c (gfc_check_pointer_assign): Set INTRINSIC attribute if needed.
744         Check for invalid intrinsics.
745         * primary.c (gfc_match_rvalue): Check for intrinsics came too early.
746         Set procedure flavor if appropriate.
747         * resolve.c (resolve_intrinsic): Renamed to gfc_resolve_intrinsic.
748         (resolve_procedure_interface,resolve_procedure_expression,
749         resolve_function,resolve_fl_derived0,resolve_symbol): Ditto.
751 2012-07-26  Mikael Morin  <mikael@gcc.gnu.org>
753         PR fortran/44354
754         * trans-array.c (gfc_trans_array_constructor_value):
755         Evaluate the iteration bounds before the inner variable shadows
756         the outer.
758 2012-07-26  Mikael Morin  <mikael@gcc.gnu.org>
760         PR fortran/44354
761         * array.c (sought_symbol): New variable.
762         (expr_is_sought_symbol_ref, find_symbol_in_expr): New functions.
763         (resolve_array_list): Check for references to the induction
764         variable in the iteration bounds and issue a diagnostic if some
765         are found.
767 2012-07-26  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
768             Tobias Burnus  <burnus@net-b.de>
770         * module.c (mio_array_spec): Don't read as->lower for
771         assumed-rank arrays.
773 2012-07-25  Tobias Burnus  <burnus@net-b.de>
775         * trans-types.c (gfc_real16_is_float128): Fix spelling
776         in a comment.
777         * trans.h (struct gfc_array_info): Ditto.
778         * gfortran.h (gfc_expr): Ditto.
779         * simplify.c (gfc_count): Ditto.
780         * trans-expr.c (gfc_copy_class_to_class,
781         conv_parent_component_references,
782         gfc_trans_pointer_assignment): Ditto.
783         * expr.c (check_pointer_assign): Fix diagnostic spelling.
784         * interface.c (compare_parameter): Ditto.
785         * parse.c (use_modules, parse_associate): Ditto.
786         * decl.c (match_char_length): Fix spelling of the
787         an function argument.
789 2012-07-21  Tobias Burnus  <burnus@net-b.de>
791         * iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
792         * intrinsic.texi (ISO_C_BINDING): Document it.
794 2012-07-21  Tobias Burnus  <burnus@net-b.de>
796         PR fortran/48820
797         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Support
798         lbound/ubound with dim= for assumed-rank arrays.
799         * array.c (gfc_set_array_spec): Reject coarrays with
800         assumed shape.
801         * decl.c (merge_array_spec): Ditto. Return gfc_try.
802         (match_attr_spec, match_attr_spec): Update call.
804 2012-07-21  Tobias Burnus  <burnus@net-b.de>
806         * resolve.c (resolve_formal_arglist): Put variable
807         declaration before the first assignment.
809 2012-07-21  Tobias Burnus  <burnus@net-b.de>
811         * trans-expr.c (gfc_conv_derived_to_class): Fix argument passed
812         to class_array_data_assign.
814 2012-07-20  Tobias Burnus  <burnus@net-b.de>
816         * decl.c (gfc_verify_c_interop_param): Allow assumed-shape
817         with -std=f2008ts.
819 2012-07-20  Tobias Burnus  <burnus@net-b.de>
821         PR fortran/48820
822         * array.c (match_array_element_spec, gfc_match_array_spec,
823         spec_size, gfc_array_dimen_size): Add support for
824         assumed-rank arrays.
825         * check.c (dim_rank_check): Ditto.
826         * class.c (gfc_add_component_ref): Ditto.
827         (gfc_build_class_symbol): Regard assumed-rank arrays
828         as having GFC_MAX_DIMENSIONS. And build extra class
829         container for a scalar pointer class.
830         * decl.c (merge_array_spec): Add assert.
831         * dump-parse-tree.c (show_array_spec): Add support for
832         assumed-rank arrays.
833         * expr.c (gfc_is_simply_contiguous): Ditto.
834         * gfortran.h (array_type): Ditto.
835         (gfc_array_spec, gfc_expr): Add comment to "rank" field.
836         * interface.c (compare_type_rank, argument_rank_mismatch,
837         compare_parameter, gfc_procedure_use): Ditto.
838         (compare_actual_formal): Fix NULL() to optional-dummy
839         handling for polymorphic dummies.
840         * module.c (mio_typespec): Add support for
841         assumed-rank arrays.
842         * resolve.c (resolve_formal_arglist, resolve_actual_arglist,
843         resolve_elemental_actual, resolve_global_procedure,
844         expression_shape, resolve_variable, update_ppc_arglist,
845         check_typebound_baseobject, gfc_resolve_expr,
846         resolve_fl_var_and_proc, gfc_resolve_finalizers,
847         resolve_typebound_procedure, resolve_symbol): Ditto.
848         (assumed_type_expr_allowed): Remove static variable.
849         (actual_arg, first_actual_arg): New static variables.
850         * simplify.c (simplify_bound, gfc_simplify_range): Add
851         support for assumed-rank arrays.
852         * trans-array.c (gfc_conv_array_parameter): Ditto.
853         (gfc_get_descriptor_dimension): New function, which returns
854         the descriptor.
855         (gfc_conv_descriptor_dimension): Use it.
856         (gfc_conv_descriptor_stride_get, gfc_conv_array_parameter):
857         Handle GFC_ARRAY_ASSUMED_RANK_CONT and AS_ASSUMED_RANK.
858         * trans-array.h (gfc_get_descriptor_dimension): New prototype.
859         * trans-decl. (gfc_build_dummy_array_decl,
860         gfc_trans_deferred_vars, add_argument_checking): Add
861         support for assumed-rank arrays.
862         * trans-expr.c (gfc_conv_expr_present, gfc_conv_variable,
863         gfc_conv_procedure_call): Ditto.
864         (get_scalar_to_descriptor_type, class_array_data_assign,
865         conv_scalar_to_descriptor): New static functions.
866         (gfc_conv_derived_to_class, gfc_conv_class_to_class): Use
867         them.
868         * trans-intrinsic.c (get_rank_from_desc): New function.
869         (gfc_conv_intrinsic_rank, gfc_conv_associated): Use it.
870         * trans-types.c (gfc_array_descriptor_base_caf,
871         gfc_array_descriptor_base): Make space for scalar array.
872         (gfc_is_nodesc_array, gfc_is_nodesc_array,
873         gfc_build_array_type, gfc_get_array_descriptor_base): Add
874         support for assumed-rank arrays.
875         * trans.h (gfc_array_kind): Add GFC_ARRAY_ASSUMED_RANK and
876         GFC_ARRAY_ASSUMED_RANK_CONT.
878 2012-07-19  Tobias Burnus  <burnus@net-b.de>
880         * trans-expr.c (gfc_conv_procedure_call): Fix handling
881         of polymorphic arguments.
882         * resolve.c (resolve_formal_arglist): Ditto, mark polymorphic
883         assumed-shape arrays as such.
885 2012-07-19  Tobias Burnus  <burnus@net-b.de>
887         * interface.c (compare_parameter, compare_actual_formal): Fix
888         handling of polymorphic arguments.
890 2012-07-17  Janus Weil  <janus@gcc.gnu.org>
892         PR fortran/51081
893         * error.c (gfc_notify_std): Automatically print the relevant Fortran
894         standard version.
895         * arith.c (arith_power): Remove explicit standard reference string.
896         * array.c (gfc_match_array_spec, gfc_match_array_constructor): Ditto.
897         * check.c (gfc_check_a_p, gfc_check_besn, gfc_check_count,
898         gfc_check_float, gfc_check_fn_rc2008, gfc_check_iand,
899         gfc_check_ichar_iachar, gfc_check_ieor, gfc_check_index, gfc_check_ior,
900         gfc_check_lbound, gfc_check_len_lentrim, check_rest, gfc_check_min_max,
901         gfc_check_null, gfc_check_scan, gfc_check_selected_real_kind,
902         gfc_check_shape, gfc_check_size, gfc_check_sngl, gfc_check_ubound,
903         gfc_check_verify): Ditto.
904         * data.c (gfc_assign_data_value): Ditto.
905         * decl.c (var_element, char_len_param_value, match_char_length,
906         gfc_verify_c_interop_param, match_pointer_init, variable_decl,
907         gfc_match_decl_type_spec, gfc_match_import, match_attr_spec, 
908         gfc_match_prefix, gfc_match_suffix, match_ppc_decl,
909         match_procedure_in_interface, gfc_match_procedure,gfc_match_entry,
910         gfc_match_subroutine, gfc_match_end, gfc_match_codimension,
911         gfc_match_protected, gfc_match_value, gfc_match_volatile,
912         gfc_match_asynchronous, gfc_match_modproc, gfc_get_type_attr_spec,
913         gfc_match_enum, match_procedure_in_type): Ditto.
914         * expr.c (check_elemental, gfc_check_assign, gfc_check_pointer_assign):
915         Ditto.
916         * interface.c (gfc_match_abstract_interface, check_interface0): Ditto.
917         * intrinsic.c (gfc_intrinsic_func_interface): Ditto.
918         * io.c (format_lex, resolve_tag_format, resolve_tag,
919         compare_to_allowed_values, gfc_match_open, gfc_match_rewind,
920         gfc_resolve_dt, gfc_match_wait): Ditto.
921         * match.c (match_arithmetic_if, gfc_match_if, gfc_match_critical,
922         gfc_match_do, match_exit_cycle, gfc_match_pause, gfc_match_stop,
923         gfc_match_lock, sync_statement, gfc_match_assign, gfc_match_goto,
924         gfc_match_allocate, gfc_match_return, gfc_match_st_function): Ditto.
925         * module.c (gfc_match_use, gfc_use_module): Ditto.
926         * parse.c (parse_derived_contains, parse_block_construct,
927         parse_associate, parse_contained): Ditto.
928         * primary.c (match_hollerith_constant, match_boz_constant,
929         match_real_constant, match_sym_complex_part, match_arg_list_function,
930         build_actual_constructor, gfc_convert_to_structure_constructor): Ditto.
931         * resolve.c (resolve_formal_arglist, resolve_entries,
932         resolve_common_blocks, resolve_actual_arglist, gfc_resolve_index_1,
933         gfc_resolve_iterator_expr, resolve_ordinary_assign,
934         resolve_fl_var_and_proc, resolve_fl_variable_derived,
935         resolve_fl_procedure, resolve_fl_derived0, resolve_fl_derived,
936         resolve_fl_namelist, resolve_symbol, resolve_fntype): Ditto.
937         * symbol.c (check_conflict, conflict, gfc_add_is_bind_c,
938         gfc_add_extension, gfc_check_symbol_typed): Ditto.
940 2012-07-17  Tobias Burnus  <burnus@net-b.de>
942         PR fortran/53985
943         * decl.c (gfc_verify_c_interop_param): Make warning conditional
944         on -Wc-binding-type works and improve the wording.
946 2012-07-17  Tobias Burnus  <burnus@net-b.de>
948         PR fortran/52101
949         * decl.c (match_char_length): Extra argument, show obsolenscent
950         warning only if *length is used after the typename.
951         (variable_decl, gfc_match_char_spec): Update call
953 2012-07-17  Tobias Burnus  <burnus@net-b.de>
954             Steven G. Kargl  <kargl@gcc.gnu.org>
956         PR fortran/49265
957         * decl.c (match_procedure_in_interface): Support "::" for
958         Fortran 2008 and later.
960 2012-07-16  Thomas König  <tkoenig@gcc.gnu.org>
962         PR fortran/53824
963         * resolve.c (resolve_allocate_deallocate):  If both
964         start indices are NULL, skip the test for equality.
966 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
968         * f95-lang.c: Include dumpfile.h instead of tree-dump.h.
969         * Make-lang.in: Fix dependencies.
971 2012-07-16  Janus Weil  <janus@gcc.gnu.org>
973         PR fortran/53956
974         * gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified
975         prototypes.
976         * symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source
977         of dummy procedures.
978         (gfc_copy_formal_args_ppc): Ditto.
979         * resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to
980         gfc_copy_formal_args.
981         (resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc.
983 2012-07-12  Tobias Burnus  <burnus@net-b.de>
985         * trans-expr.c (conv_isocbinding_procedure): Generate c_f_pointer code
986         inline.
988 2012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
990         * trans.c: Do not include defaults.h.
991         * trans-intrinsic.c: Likewise.
993 2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
995         * gfortran.h: Do not include coretypes.h here.
996         Make it an error to include this before coretypes.h
997         * openmp.c: Include coretypes.h.
998         * interface.c: Likewise.
999         * intrinsic.c: Likewise.
1000         * symbol.c: Likewise.
1001         * class.c: Likewise.
1002         * decl.c: Likewise.
1003         * matchexp.c: Likewise.
1004         * dump-parse-tree.c: Likewise.
1005         * array.c: Likewise.
1006         * constructor.c: Likewise.
1007         * error.c: Likewise.
1008         * data.c: Likewise.
1009         * expr.c: Likewise.
1010         * module.c: Likewise.
1011         * scanner.c: Likewise.
1012         * bbt.c: Likewise.
1013         * io.c: Likewise.
1014         * frontend-passes.c: Likewise.
1015         * resolve.c: Likewise.
1016         * st.c: Likewise.
1017         * target-memory.c: Likewise.
1018         * match.c: Likewise.
1019         * arith.c: Likewise.
1020         * parse.c: Likewise.
1021         * check.c: Likewise.
1022         * dependency.c: Likewise.
1023         * primary.c: Likewise.
1024         * misc.c: Likewise.
1025         * simplify.c: Likewise.
1027 2012-07-05  Mikael Morin  <mikael@gcc.gnu.org>
1029         PR fortran/53732
1030         * trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls
1031         handling nested loop(s) if the subscript flag is true.
1033 2012-07-05  Uros Bizjak  <ubizjak@gmail.com>
1035         PR fortran/53449
1036         * parse.c (gfc_parse_file): Initialize errors_before.
1038 2012-06-27  Janus Weil  <janus@gcc.gnu.org>
1040         PR fortran/41951
1041         PR fortran/49591
1042         * interface.c (check_new_interface): Rename, add 'loc' argument,
1043         make non-static.
1044         (gfc_add_interface): Rename 'check_new_interface'
1045         * gfortran.h (gfc_check_new_interface): Add prototype.
1046         * resolve.c (resolve_typebound_intrinsic_op): Add typebound operator
1047         targets to non-typebound operator list.
1049 2012-06-22  Janus Weil  <janus@gcc.gnu.org>
1051         PR fortran/47710
1052         PR fortran/53328
1053         * interface.c (count_types_test, generic_correspondence,
1054         gfc_compare_interfaces): Ignore PASS arguments.
1055         (check_interface1, compare_parameter): Pass NULL arguments to
1056         gfc_compare_interfaces.
1057         * gfortran.h (gfc_compare_interfaces): Modified prototype.
1058         * expr.c (gfc_check_pointer_assign): Pass NULL arguments to
1059         gfc_compare_interfaces.
1060         * resolve.c (resolve_structure_cons): Ditto.
1061         (check_generic_tbp_ambiguity): Determine PASS arguments and pass them
1062         to gfc_compare_interfaces.
1064 2012-06-21  Janne Blomqvist  <jb@gcc.gnu.org>
1066         PR fortran/39654
1067         * iresolve.c (gfc_resolve_ftell): Fix result kind and use new
1068         library function.
1070 2012-06-18  Tobias Burnus  <burnus@net-b.de>
1072         * intrinsic.h (gfc_resolve_rank): New prototype.
1073         * intrinsic.c (add_functions): Use gfc_resolve_rank.
1074         * iresolve.c (add_functions): New function.
1075         * trans-intrinsic.c (gfc_conv_intrinsic_rank): New function.
1076         (gfc_conv_intrinsic_function): Call it.
1078 2012-06-18  Tobias Burnus  <burnus@net-b.de>
1080         PR fortran/53692
1081         * trans-array.c (set_loop_bounds): Don't scalarize via absent
1082         optional arrays.
1083         * resolve.c (resolve_elemental_actual): Don't stop resolving after printing
1084         a warning.
1086 2012-06-18  Tobias Burnus  <burnus@net-b.de>
1088         PR fortran/53526
1089         * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle coarrays.
1091 2012-06-18  Tobias Burnus  <burnus@net-b.de>
1093         PR fortran/53526
1094         * check.c (gfc_check_move_alloc): Reject coindexed actual arguments
1095         and those with different corank.
1097 2012-06-17  Tobias Burnus  <burnus@net-b.de>
1099         PR fortran/53691
1100         PR fortran/53685
1101         * check.c (gfc_calculate_transfer_sizes): Return if
1102         SIZE= is not constant or source-size cannot be determined.
1104 2012-06-16  Tobias Burnus  <burnus@net-b.de>
1106         PR fortran/53642
1107         PR fortran/45170
1108         * frontend-passes.c (optimize_assignment): Don't remove RHS's
1109         trim when assigning to a deferred-length string.
1110         * trans-expr.c (gfc_trans_assignment_1): Ensure that the RHS string
1111         length is evaluated before the deferred-length LHS is reallocated.
1113 2012-06-13  Tobias Burnus  <burnus@net-b.de>
1115         PR fortran/53643
1116         * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays.
1117         * trans-array.c (structure_alloc_comps): Don't loop for
1118         scalar coarrays.
1120 2012-06-13  Tobias Burnus  <burnus@net-b.de>
1122         PR fortran/53597
1123         * decl.c (match_attr_spec): Only mark module variables
1124         as SAVE_IMPLICIT for Fortran 2008 and later.
1126 2012-06-08  Janus Weil  <janus@gcc.gnu.org>
1128         PR fortran/52552
1129         * match.c (gfc_match_allocate): Modify order of checks. Change wording
1130         of error message. Remove FIXME note.
1131         * resolve.c (resolve_allocate_expr): Add a comment.
1133 2012-06-07  Thomas König  <tkoenig@gcc.gnu.org>
1135         PR fortran/52861
1136         * frontend-passes.c (optimize_assignment):  Don't set the
1137         length of an empty string for deferred-length character
1138         variables.
1140 2012-06-07  Thomas König  <tkoenig@gcc.gnu.org>
1142         PR fortran/52861
1143         * frontend-passes.c (empty_string):  Add prototype.
1144         (optimize_assignment):  Set the length of an empty string
1145         constant to zero.
1147 2012-06-04  Tobias Burnus  <burnus@net-b.de>
1149         PR fortran/50619
1150         * resolve.c (build_default_init_expr): Don't initialize
1151         ASSOCIATE names.
1153 2012-06-03  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
1154             Tobias Burnus  <burnus@net-b.de>
1156         PR fortran/48831
1157         * gfortran.h (gfc_check_init_expr): Add prototype declaration
1158         of function.
1159         * check.c (kind_check): Change if condition to use
1160         to gfc_check_init_expr.
1161         * expr.c (check_init_expr): Remove forward declaration
1162         and static keyword. Change name in gfc_check_init_expr.
1163         (scalarize_intrinsic_call, check_init_expr_arguments,
1164         check_inquiry, check_conversion, gfc_reduce_init_expr): Update
1165         call to gfc_check_init_expr.
1167 2012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
1169         * trans-common.c: Do not include output.h.
1170         * trans-decl.c: Likewise.
1172 2012-05-31  Tobias Burnus  <burnus@net-b.de>
1174         PR fortran/53521
1175         * trans.c (gfc_deallocate_scalar_with_status): Properly
1176         handle the case size == 0.
1178 2012-05-30  Tobias Burnus  <burnus@net-b.de>
1180         PR c/53502
1181         * decl.c (match_attr_spec): Remove "typedef".
1183 2012-05-30  Tobias Burnus  <burnus@net-b.de>
1185         * decl.c: Fix comment typos.
1186         * expr.c: Ditto.
1187         * frontend-passes.c: Ditto.
1188         * match.c: Ditto.
1189         * resolve.c: Ditto.
1190         * trans-array.c: Ditto.
1191         * trans-common.c: Ditto.
1192         * trans-intrinsic.c: Ditto.
1193         * trans-types.c: Ditto.
1195 2012-05-23  Tobias Burnus  <burnus@net-b.de>
1197         PR fortran/51055
1198         PR fortran/45170
1199         * match.c (gfc_match_allocate): Set length_from_typespec
1200         for characters.
1201         * resolve.c (resolve_charlen): If set, don't check whether
1202         the len is a specification expression.
1204 2012-05-22  Tobias Burnus  <burnus@net-b.de>
1206         PR fortran/53389
1207         * trans-array.c (gfc_add_loop_ss_code): Don't evaluate expression, if
1208         ss->is_alloc_lhs is set.
1210 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1212         PR c++/53322
1213         * f95-lang.c (gfc_init_builtin_functions): Remove the unused
1214         typedef builtin_type.
1216 2012-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
1218         PR fortran/52428
1219         * gfortran.texi: Update _gfortran_set_options documentation.
1220         * invoke.texi: Remove runtime behavior description of
1221         -fno-range-check.
1222         * trans-decl.c (create_main_function): Don't pass the range-check
1223         setting to the library.
1225 2012-05-14  Tobias Burnus  <burnus@net-b.de>
1227         PR fortran/49110
1228         PR fortran/51055
1229         PR fortran/53329
1230         * trans-expr.c (gfc_trans_assignment_1): Fix allocation
1231         handling for assignment of function results to allocatable
1232         deferred-length strings.
1233         * trans-decl.c (gfc_create_string_length): For deferred-length
1234         module variables, include module name in the assembler name.
1235         (gfc_get_symbol_decl): Don't override the assembler name.
1237 2012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1239         PR 53063
1240         * options.c (gfc_handle_option): Call lang-specific generated function.
1242 2012-05-13  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
1243             Tobias Burnus  <burnus@net-b.de>
1245         PR fortran/52158
1246         PR fortran/45170
1247         PR fortran/49430
1248         * resolve.c (resolve_fl_derived0): Deferred character length 
1249         procedure components are supported.
1250         * trans-expr.c (gfc_conv_procedure_call): Handle TBP with 
1251         deferred-length results.
1252         (gfc_string_to_single_character): Add a new check to prevent
1253         NULL read.
1254         (gfc_conv_procedure_call): Remove unuseful checks on 
1255         symbol's attributes. Add new checks to prevent NULL read on
1256         string length. 
1258 2012-05-12  Tobias Burnus  <burnus@net-b.de>
1260         PR fortran/49110
1261         PR fortran/52843
1262         * resolve.c (resolve_fl_procedure): Don't regard
1263         character(len=:) as character(*) in the diagnostic.
1265 2012-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
1267         PR fortran/52537
1268         * frontend-passes.c (optimize_op):  Change
1269         old-style comparison operators to new-style, simplify
1270         switch as a result.
1271         (empty_string):  New function.
1272         (get_len_trim_call):  New function.
1273         (optimize_comparison):  If comparing to an empty string,
1274         use comparison of len_trim to zero.
1275         Use new-style comparison operators only.
1276         (optimize_trim):  Use get_len_trim_call.
1278 2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1280         PR 53063
1281         * options.c: Include diagnostics.h instead of
1282         diagnostics-core.h.
1283         (set_Wall): Do not see warn_unused here.
1284         (gfc_handle_option): Set it here using handle_generated_option.
1286 2012-05-08  Jan Hubicka  <jh@suse.cz>
1288         * trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
1289         * trans-decl.c (gfc_finish_cray_pointee): Likewise.
1291 2012-05-07  Tobias Burnus  <burnus@net-b.de>
1293         PR fortran/53255
1294         * resolve.c (resolve_typebound_static): Fix handling
1295         of overridden specific to generic operator.
1297 2012-05-06  Tobias Burnus  <burnus@net-b.de>
1299         PR fortran/41587
1300         * decl.c (build_struct): Don't ignore FAILED status.
1302 2012-05-05  Paul Thomas  <pault@gcc.gnu.org>
1304         PR fortran/41600
1305         * trans-array.c (build_array_ref): New static function.
1306         (gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
1307         * trans-expr.c (gfc_get_vptr_from_expr): New function.
1308         (gfc_conv_derived_to_class): Add a new argument for a caller
1309         supplied vptr and use it if it is not NULL.
1310         (gfc_conv_procedure_call): Add NULL to call to above.
1311         symbol.c (gfc_is_associate_pointer): Return true if symbol is
1312         a class object.
1313         * trans-stmt.c (trans_associate_var): Handle class associate-
1314         names.
1315         * expr.c (gfc_get_variable_expr): Supply the array-spec if
1316         possible.
1317         * trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
1318         for class types.
1319         * trans.h : Add prototypes for gfc_get_vptr_from_expr and
1320         gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
1321         * resolve.c (resolve_variable): For class arrays, ensure that
1322         the target expression has all the necessary _data references.
1323         (resolve_assoc_var): Throw a "not yet implemented" error for
1324         class array selectors that need a temporary.
1325         * match.c (copy_ts_from_selector_to_associate,
1326         select_derived_set_tmp, select_class_set_tmp): New functions.
1327         (select_type_set_tmp): Call one of last two new functions.
1328         (gfc_match_select_type): Copy_ts_from_selector_to_associate is
1329         called if associate-name is typed.
1331         PR fortran/53191
1332         * resolve.c (resolve_ref): C614 applied to class expressions.
1334 2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>
1336         PR fortran/49010
1337         PR fortran/24518
1338         * intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
1339         * simplify.c (gfc_simplify_mod): Use mpfr_fmod.
1340         (gfc_simplify_modulo): Likewise, use copysign to fix the result if
1341         zero.
1342         * trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
1343         builtin_fmod is always available. For modulo, call copysign to fix
1344         the result when signed zeros are enabled.
1346 2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>
1348         * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
1349         algorithm for choosing temp directory.
1351 2012-05-04  Tobias Burnus  <burnus@net-b.de>
1353         PR fortran/53175
1354         * resolve.c (resolve_variable): Set public_used
1355         if a private module variable is used in a (public)
1356         specification expression.
1357         * trans-decl.c (gfc_finish_var_decl): Mark those
1358         TREE_PUBLIC.
1360 2012-05-04  Tobias Burnus  <burnus@net-b.de>
1362         PR fortran/53111
1363         * resolve.c (resolve_fl_derived): Fix -std=f95
1364         diagnostic for generic vs. DT names.
1366 2012-05-03  Tobias Burnus  <burnus@net-b.de>
1368         PR fortran/52864
1369         * interface.c (compare_parameter_intent): Remove.
1370         (check_intents): Remove call, handle CLASS pointer.
1371         (compare_actual_formal): Handle CLASS pointer.
1373 2012-04-30  Jan Hubicka  <jh@suse.cz>
1375         * f95-lang.c (gfc_finish): Update comments.
1377 2012-04-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
1379         PR fortran/53148
1380         * frontend-passes.c (create_var):  If the statement has a label,
1381         put the label around the block.
1383 2012-04-25  Tobias Burnus  <burnus@net-b.de>
1385         PR fortran/52196
1386         * lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags.
1387         * gfortran.h (gfc_option_t): Add them.
1388         * options.c (gfc_init_options, gfc_post_options,
1389         gfc_handle_option): Handle them.
1390         * invoke.texi: Document them.
1391         * trans-expr.c (realloc_lhs_warning): New function.
1392         (gfc_trans_arrayfunc_assign,
1393         alloc_scalar_allocatable_for_assignment,
1394         gfc_trans_assignment_1): Use it.
1396 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
1398         * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
1399         with NULL_TREE type instead of void_type_node.
1400         * trans-io.c (io_result): Likewise.
1401         * trans-stmt.c (gfc_trans_integer_select,
1402         gfc_trans_character_select): Likewise.
1404 2012-04-16  Tobias Burnus  <burnus@net-b.de>
1406         PR fortran/52864
1407         * expr.c (gfc_check_vardef_context): Fix assignment check for
1408         pointer components.
1410 2012-04-16  Janus Weil  <janus@gcc.gnu.org>
1412         PR fortran/52968
1413         * class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
1414         namespace is present.
1416 2012-04-15  Janus Weil  <janus@gcc.gnu.org>
1418         PR fortran/51082
1419         * trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
1420         simple function call (or a more involved PPC reference).
1422 2012-04-15  Tobias Burnus  <burnus@net-b.de>
1424         PR fortran/52916
1425         PR fortran/40973
1426         * gfortran.h (symbol_attribute): Add public_used.
1427         * interface.c (check_sym_interfaces, check_uop_interfaces,
1428         gfc_check_interfaces): Set it.
1429         * resolve.c (resolve_typebound_procedure): Ditto.
1430         * trans-decl.c (build_function_decl): Use it.
1432 2012-04-11  Tobias Burnus  <burnus@net-b.de>
1434         PR fortran/52729
1435         * resolve.c (resolve_symbol): Fix searching for parent NS decl.
1437 2012-04-08  Tobias Burnus  <burnus@net-b.de>
1439         PR fortran/52751
1440         * trans-decl.c (gfc_finish_var_decl): Don't set TREE_PUBLIC
1441         for PRIVATE module variables without C-binding label.
1443         PR fortran/40973
1444         * trans-decl.c (build_function_decl): Ditto for procedures.
1446 2012-04-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
1448         PR fortran/52893
1449         * frontend-passes.c:  Keep track of wether we are in an implicit
1450         DO loop; do not do function elimination if we are.
1452 2012-04-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
1454         PR fortran/52668
1455         * module.c:  Only mark symbols as use_only if they have been
1456         imported via an only list.
1458 2012-03-28  Paul Thomas  <pault@gcc.gnu.org>
1459         Tobias Burnus  <burnus@gcc.gnu.org>
1461         PR fortran/52652
1462         * match.c (gfc_match_allocate, gfc_match_deallocate): Change
1463         "not.. or" to "neither.. nor".
1464         * parse.c (decode_specification_statement): Correct error in
1465         chpice of matching function for "allocatable".
1467 2012-03-23  Janne Blomqvist  <jb@gcc.gnu.org>
1469         * gfortran.h (GFC_MAX_LINE): Remove unused macro.
1471 2012-03-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1473         PR fortran/52559
1474         * error.c (gfc_widechar_display_length): Consider tabs as
1475         one character wide, as they're displayed as spaces.
1476         (show_locus): Move tab handling to...
1477         (print_wide_char_into_buffer): ... here.
1479 2012-03-17  Tobias Burnus  <burnus@net-b.de>
1481         PR fortran/52585
1482         * trans-intrinsic.c (gfc_conv_associated): Fix handling of
1483         procpointer dummy arguments.
1485 2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>
1487         * trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
1488         for __float128.
1490 2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>
1492         * f95-lang.c (gfc_init_builtin_functions): Initialize
1493         BUILT_IN_IROUND.
1494         * mathbuiltins.def: Add IROUND.
1495         * trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
1496         type size matches.
1497         (gfc_build_intrinsic_lib_fndecls): Build iround functions.
1499 2012-03-12  Richard Guenther  <rguenther@suse.de>
1501         * f95-lang.c (builtin_type_for_size): Use gfc_type_for_size.
1503 2012-03-12  Tobias Burnus  <burnus@net-b.de>
1505         PR fortran/52542
1506         * decl.c (match_procedure_decl): If the interface
1507         is bind(C), the procedure is as well.
1509 2012-03-10  Steven Bosscher  <steven@gcc.gnu.org>
1511         * convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant.
1513 2012-03-09  Steven Bosscher  <steven@gcc.gnu.org>
1515         * Make-lang.in (convert.o): Depend on convert.h.
1516         * convert.c: Header and comment cleanups.
1517         (gfc_thruthvalue_conversion): Rename static function
1518         to truthvalue_conversion.  Do not use 'internal_error' from here,
1519         use 'gcc_unreachable' instead.
1520         (convert): Do not use 'error' for conversions to void, use
1521         'gcc_unreachable' instead.  Likewise for conversions to non-scalar
1522         types.  Do not hanlde ENUMERAL_TYPE, the front end never creates them.
1523         Clean up #if 0 code.
1525 2012-03-08  Tobias Burnus  <burnus@net-b.de>
1527         PR fortran/52469
1528         * trans-types.c (gfc_get_function_type): Handle backend_decl
1529         of a procedure pointer.
1531 2012-03-06  Steven Bosscher  <steven@gcc.gnu.org>
1533         * f95-lang.c (yyerror, yylex): Remove.
1534         (clear_binding_stack): Remove, fold into its only user.
1535         (LANG_HOOKS_PRINT_IDENTIFIER): Do not re-define.
1536         (ridpointers): Remove.
1537         (gfc_eh_initialized_p): Make static.
1538         (gfc_truthvalue_conversion): Move to convert.c.
1539         (gfc_be_parse_file): Clear binding level stack when done.
1540         (gfc_print_identifier): Remove.
1541         (pushlevel): Remove ignored 'ignore' argument.  Update all callers.
1542         (poplevel): Remove unused 'reverse' argument.  Update all callers.
1543         (ggc_p): Remove.
1544         (gfc_builtin_function): Make static. Do not attempt to make RTL for
1545         builtin functions.
1546         * convert.c (gfc_truthvalue_conversion): Moved here from f95-lang.c,
1547         and made static.
1548         * trans.h (pushlevel, poplevel): Adjust prototypes.
1549         (gfc_truthvalue_conversion, gfc_builtin_function): Remove prototypes.
1550         * trans-openmp.c: Update calls to pushlevel and poplevel.
1551         * trans.c: Likewise.
1552         * trans-decl.c: Likewise.
1554 2012-03-04  Mikael Morin  <mikael@gcc.gnu.org>
1556         PR fortran/50981
1557         * gfortran.h (gfc_is_class_container_ref): New prototype.
1558         * class.c (gfc_is_class_container_ref): New function.
1559         * trans-expr.c (gfc_conv_procedure_call): Add a "_data" component
1560         reference to polymorphic actual arguments.
1562 2012-03-04  Mikael Morin  <mikael@gcc.gnu.org>
1564         PR fortran/50981
1565         * trans-expr.c (gfc_conv_procedure_call): Save se->ss's value. 
1566         Handle the case of unallocated arrays passed to elemental procedures.
1568 2012-03-04  Mikael Morin  <mikael@gcc.gnu.org>
1570         * trans.h (struct gfc_ss_info): Move can_be_null_ref component from
1571         the data::scalar subcomponent to the toplevel.
1572         * trans-expr.c (gfc_conv_expr): Update component reference.
1573         * trans-array.c (gfc_add_loop_ss_code): Ditto.
1574         (gfc_walk_elemental_function_args): Ditto.  Move the conditional setting
1575         the field out of the scalar-only block.
1577 2012-03-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1579         PR fortran/36160
1580         * error.c (gfc_widechar_display_length, gfc_wide_display_length):
1581         New functions.
1582         (print_wide_char_into_buffer): Return length written.
1583         (show_locus): Fix locus displayed when wide characters are present.
1585 2012-03-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1587         * module.c (gfc_use_module): Improve error message some more.
1589 2012-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1591         PR fortran/52313
1592         * module.c (gfc_use_module): Improve error messages.
1594 2012-03-03  Tobias Burnus  <burnus@net-b.de>
1596         PR fortran/48820
1597         * resolve.c (resolve_actual_arglist): Properly reset
1598         assumed_type_expr_allowed.
1600 2012-03-03  Tobias Burnus  <burnus@net-b.de>
1602         * lang.opt (Wc-binding-type): New flag.
1603         * options.c (gfc_init_options, gfc_handle_option): Handle it.
1604         * invoke.texi (Wc-binding-type): Document it.
1605         * gfortran.h (gfc_option_t): Add warn_c_binding_type.
1606         * decl.c (verify_bind_c_sym): Handle -Wc-binding-type.
1607         * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
1608         Ditto.
1610 2012-03-03  Tobias Burnus  <burnus@net-b.de>
1612         PR fortran/48820
1613         * decl.c (gfc_match_decl_type_spec): Support type(*).
1614         (gfc_verify_c_interop): Allow type(*).
1615         * dump-parse-tree.c (show_typespec): Handle type(*).
1616         * expr.c (gfc_copy_expr): Ditto.
1617         * interface.c (compare_type_rank, compare_parameter,
1618         compare_actual_formal, gfc_procedure_use): Ditto.
1619         * libgfortran.h (bt): Add BT_ASSUMED.
1620         * misc.c (gfc_basic_typename, gfc_typename): Handle type(*).
1621         * module.c (bt_types): Ditto.
1622         * resolve.c (assumed_type_expr_allowed): New static variable.
1623         (resolve_actual_arglist, resolve_variable, resolve_symbol):
1624         Handle type(*). 
1625         * trans-expr.c (gfc_conv_procedure_call): Ditto.
1626         * trans-types.c (gfc_typenode_for_spec, gfc_get_dtype): Ditto.
1628 2012-03-02  Tobias Burnus  <burnus@net-b.de>
1630         PR fortran/52325
1631         * primary.c (gfc_match_varspec): Add missing ;.
1633 2012-03-02  Tobias Burnus  <burnus@net-b.de>
1635         PR fortran/52325
1636         * primary.c (gfc_match_varspec): Add diagnostic for % with
1637         nonderived types.
1639 2012-03-02  Tobias Burnus  <burnus@net-b.de>
1641         PR fortran/52270
1642         * expr.c (gfc_check_vardef_context): Fix check for
1643         intent-in polymorphic pointer .
1644         * interface.c (compare_parameter): Allow passing TYPE to
1645         intent-in polymorphic pointer.
1647 2012-03-02  Tobias Burnus  <burnus@net-b.de>
1649         PR fortran/52452
1650         * resolve.c (resolve_intrinsic): Don't search for a
1651         function if we know that it is a subroutine.
1653 2012-02-29  Paul Thomas  <pault@gcc.gnu.org>
1655         PR fortran/52386
1656         * trans-expr.c (fcncall_realloc_result): Dereference the
1657         descriptor if needed.
1659 2012-02-22  Tobias Burnus  <burnus@net-b.de>
1661         PR fortran/52335
1662         * io.c (gfc_match_open): Remove bogus F2003 DELIM= check.
1664 2012-02-18  Tobias Burnus  <burnus@net-b.de>
1666         PR fortran/52295
1667         * interface.c (check_interface0): Internal procs in
1668         generic interfaces are allowed in Fortran 2008.
1670 2012-02-17  Tobias Burnus  <burnus@net-b.de>
1671             Roland Stigge  <stigge@antcom.de>
1673         PR translation/52273
1674         * interface.c (compare_actual_formal): Fix typo "at at".
1676 2012-02-17  Tobias Burnus  <burnus@net-b.de>
1678         * gfortran.texi (Q exponent-letter): Fix grammar.
1680 2012-02-17  Tobias Burnus  <burnus@net-b.de>
1682         * gfortran.texi (Status): Fix typos.
1683         * invoke.texi (ffixed-form, fstack-arrays): Spell Fortran with
1684         a majuscule.
1686 2012-02-17  Tobias Burnus  <burnus@net-b.de>
1687             Roland Stigge  <stigge@antcom.de>
1689         PR translation/52232
1690         PR translation/52234
1691         PR translation/52245
1692         PR translation/52246
1693         PR translation/52262
1694         PR translation/52273
1695         * io.c (gfc_match_open): Fix typo.
1696         * interface.c (compare_actual_formal): Ditto.
1697         * lang.opt (freal-4-real-8, freal-4-real-16, freal-8-real-16): Ditto.
1698         * match.c (alloc_opt_list, gfc_match_nullify): Ditto.
1699         * check.c (gfc_check_associated, gfc_check_null): Ditto.
1701 2012-02-12  Mikael Morin  <mikael@gcc.gnu.org>
1703         PR fortran/50981
1704         * trans-stmt.c (gfc_get_proc_ifc_for_call): New function.
1705         (gfc_trans_call): Use gfc_get_proc_ifc_for_call.
1707 2012-02-12  Mikael Morin  <mikael@gcc.gnu.org>
1709         * trans-array.c (gfc_walk_elemental_function_args,
1710         gfc_walk_function_expr): Move call to gfc_get_proc_ifc_for_expr out
1711         of gfc_walk_elemental_function_args.
1712         * trans-stmt.c (gfc_trans_call): Ditto.
1713         * trans-array.h (gfc_get_proc_ifc_for_expr): New prototype.
1714         (gfc_walk_elemental_function_args): Update prototype.
1716 2012-02-12  Mikael Morin  <mikael@gcc.gnu.org>
1718         * trans-array.c (gfc_get_proc_ifc_for_expr): New function.
1719         (gfc_walk_elemental_function_args): Move code to
1720         gfc_get_proc_ifc_for_expr and call it.
1722 2012-02-08  Tobias Burnus  <burnus@net-b.de>
1724         PR fortran/52151
1725         * trans-expr.c (fcncall_realloc_result): Set also the stride.
1727 2012-02-07  Tobias Burnus  <burnus@net-b.de>
1729         PR fortran/51514
1730         * trans-expr.c (gfc_conv_procedure_call): Add _data component
1731         for calls of scalar CLASS actuals to TYPE dummies.
1733 2012-02-05  Thomas König  <tkoenig@gcc.gnu.org>
1735         PR fortran/48847
1736         * trans-decl.c:  Warn about unused dummy procedure arguments
1737         if -Wunused-dummy-argument is specified.  Suppress middle-end
1738         warnings about procedure arguments.
1740 2012-02-05  Paul Thomas  <pault@gcc.gnu.org>
1742         * trans-array.c (gfc_array_allocate): Zero memory for all class
1743         array allocations.
1744         * trans-stmt.c (gfc_trans_allocate): Ditto for class scalars.
1746         PR fortran/52102
1747         * trans-stmt.c (gfc_trans_allocate): Before correcting a class
1748         array reference, ensure that 'dataref' points to the _data
1749         component that is followed by the array reference..
1751 2012-02-02  Mikael Morin  <mikael@gcc.gnu.org>
1753         PR fortran/41587
1754         PR fortran/46356
1755         PR fortran/51754
1756         PR fortran/50981
1757         * class.c (insert_component_ref, class_data_ref_missing,
1758         gfc_fix_class_refs): New functions.
1759         * gfortran.h (gfc_fix_class_refs): New prototype.
1760         * trans-expr.c (gfc_conv_expr): Remove special case handling and call
1761         gfc_fix_class_refs instead.
1763 2012-02-02  Paul Thomas  <pault@gcc.gnu.org>
1765         PR fortran/52012
1766         * trans-expr.c (fcncall_realloc_result): If variable shape is
1767         correct, retain the bounds, whatever they are.
1769 2012-02-02  Tobias Burnus  <burnus@net-b.de>
1771         PR fortran/52093
1772         * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES.
1774 2012-02-01  Thomas König  <tkoenig@gcc.gnu.org>
1776         PR fortran/51958
1777         * frontend-passes.c (convert_elseif):  New function.
1778         (optimize_namespace):  Call it.
1780 2012-02-01  Tobias Burnus  <burnus@net-b.de>
1782         PR fortran/52024
1783         * module.c (MOD_VERSION): Bump.
1784         (mio_typebound_proc): Read/write is_operator from/to the
1785         .mod file.
1787 2012-02-01  Tobias Burnus  <burnus@net-b.de>
1789         PR fortran/52059
1790         * trans-expr.c (gfc_conv_procedure_call): Add array ref
1791         only to variables.
1793 2012-01-31  Tobias Burnus  <burnus@net-b.de>
1795         PR fortran/52024
1796         * gfortran.h (gfc_tbp_generic): Store whether the
1797         generic is an operator.
1798         * decl.c (gfc_match_generic): Set that flag.
1799         * resolve.c (check_generic_tbp_ambiguity): Use it in the
1800         gfc_compare_interfaces check.
1802 2012-01-31  Tobias Burnus  <burnus@net-b.de>
1804         PR fortran/52029
1805         * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
1807 2012-01-31  Tobias Burnus  <burnus@net-b.de>
1809         PR fortran/52013
1810         * class.c (get_unique_hashed_string): Adapt trim length.
1811         (gfc_build_class_symbol) Encode also corank in the container name.
1813 2012-01-31  Paul Thomas  <pault@gcc.gnu.org>
1815         PR fortran/52012
1816         * trans-expr.c (fcncall_realloc_result): Correct calculation of
1817         result offset.
1819 2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>
1821         * module.c (pointer_info): Make true_name and module pointers
1822         rather than arrays, order pointers before other fields.
1823         (free_pi_tree): free true_name and module as well.
1824         (mio_read_string): Rename to read_string.
1825         (mio_write_string): Remove.
1826         (load_commons): Use read_string.
1827         (read_module): Use read_string rather than mio_internal_string.
1828         (write_blank_common): Call write_atom directly.
1829         (write_symbol): Likewise.
1831 2012-01-29  Tobias Burnus  <burnus@net-b.de>
1833         PR fortran/41600
1834         * expr.c (gfc_default_initializer): Convert the values if
1835         the type does not match.
1837 2012-01-29  Tobias Burnus  <burnus@net-b.de>
1839         PR fortran/51972
1840         * trans-array.c (structure_alloc_comps): Fix assignment of
1841         polymorphic components (polymorphic deep copying).
1843 2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>
1845         PR fortran/51808
1846         * decl.c (set_binding_label): Make binding_label argument const.
1847         (curr_binding_label): Constify.
1848         * gfortran.h (gfc_symbol): Constify binding_label.
1849         (gfc_common_head): Likewise.
1850         (get_iso_c_sym): Likewise.
1851         * match.c (gfc_match_name_C): Constify buffer argument.
1852         * match.h (gfc_match_name_C): Likewise.
1853         * resolve.c (set_name_and_label): Constify binding_label argument.
1854         (gfc_iso_c_sub_interface): Constify binding_label variable.
1855         * symbol.c (get_iso_c_sym): Constify binding_label argument.
1857 2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>
1859         PR fortran/51808
1860         * decl.c (set_binding_label): Move prototype from match.h to here.
1861         (curr_binding_label): Make a pointer rather than static array.
1862         (build_sym): Check sym->binding_label pointer rather than array,
1863         update set_binding_label call, handle curr_binding_label changes.
1864         (set_binding_label): Handle new curr_binding_label, dest_label
1865         double ptr, and sym->binding_label.
1866         (verify_bind_c_sym): Handle sym->binding_label being a pointer.
1867         (set_verify_bind_c_sym): Check sym->binding_label pointer rather
1868         than array, update set_binding_label call.
1869         (gfc_match_bind_c_stmt): Handle curr_binding_label change.
1870         (match_procedure_decl): Update set_binding_label call.
1871         (gfc_match_bind_c): Change binding_label to pointer, update
1872         gfc_match_name_C call.
1873         * gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
1874         (gfc_symbol): Make binding_label a pointer.
1875         (gfc_common_head): Likewise.
1876         * match.c (gfc_match_name_C): Heap allocate bind(C) name.
1877         * match.h (gfc_match_name_C): Change prototype argument.
1878         (set_binding_label): Move prototype to decl.c.
1879         * module.c (struct pointer_info): Make binding_label a pointer.
1880         (free_pi_tree): Free unused binding_label.
1881         (mio_read_string): New function.
1882         (mio_write_string): New function.
1883         (load_commons): Redo reading of binding_label.
1884         (read_module): Likewise.
1885         (write_common_0): Change to write empty string instead of name if
1886         no binding_label.
1887         (write_blank_common): Write empty string for binding label.
1888         (write_symbol): Change to write empty string instead of name if no
1889         binding_label.
1890         * resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
1891         (set_name_and_label): Make binding_label double pointer, use
1892         asprintf.
1893         (gfc_iso_c_sub_interface): Make binding_label a pointer.
1894         (resolve_bind_c_comms): Handle cases if
1895         gfc_common_head->binding_label is NULL.
1896         (gfc_verify_binding_labels): sym->binding_label is a pointer.
1897         * symbol.c (gfc_new_symbol): Rely on XCNEW zero init for
1898         binding_label.
1899         (gen_special_c_interop_ptr): Don't set binding label.
1900         (generate_isocbinding_symbol): Insert binding_label into symbol
1901         table.
1902         (get_iso_c_sym): Use pointer assignment instead of strcpy.
1903         * trans-common.c (gfc_sym_mangled_common_id): Handle
1904         com->binding_label being a pointer.
1905         * trans-decl.c (gfc_sym_mangled_identifier): Handle
1906         sym->binding_label being a pointer.
1907         (gfc_sym_mangled_function_id): Likewise.
1909 2012-01-29  Tobias Burnus  <burnus@net-b.de>
1911         PR fortran/52038
1912         * resolve.c (symbol_as): Remove unused, accidentally
1913         added function.
1915 2012-01-28  Tobias Burnus  <burnus@net-b.de>
1917         PR fortran/51972
1918         * trans-stmt.c (gfc_trans_allocate): Properly check whether
1919         we have a BT_CLASS which needs to be memset.
1921 2012-01-27  Tobias Burnus  <burnus@net-b.de>
1923         PR fortran/52022
1924         * trans-expr.c (gfc_conv_procedure_call): Fix passing
1925         of functions, which return allocatables.
1927 2012-01-27  Tobias Burnus  <burnus@net-b.de>
1929         PR fortran/52016
1930         * resolve.c (resolve_formal_arglist): Fix elemental
1931         constraint checks for polymorphic dummies also for
1932         pointers.
1934 2012-01-27  Tobias Burnus  <burnus@net-b.de>
1936         PR fortran/51970
1937         PR fortran/51977
1938         * primary.c (gfc_match_varspec. gfc_match_rvalue): Set
1939         handle array spec for BT_CLASS.
1940         * expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
1941         * frontend-passes.c (create_var): Ditto.
1942         * resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
1943         * trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
1944         instead of attr.pointer.
1945         (gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
1946         * trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
1947         * trans-stmt.c (trans_associate_var): Ask for the descriptor.
1949 2012-01-27  Tobias Burnus  <burnus@net-b.de>
1951         PR fortran/51953
1952         * match.c (gfc_match_allocate): Allow more than allocate
1953         object with SOURCE=.
1955 2012-01-27  Tobias Burnus  <burnus@net-b.de>
1957         PR fortran/52016
1958         * resolve.c (resolve_formal_arglist): Fix elemental
1959         constraint checks for polymorphic dummies.
1961 2012-01-27  Paul Thomas  <pault@gcc.gnu.org>
1962             Tobias Burnus <burnus@gcc.gnu.org>
1964         PR fortran/48705
1965         PR fortran/51870
1966         PR fortran/51943
1967         PR fortran/51946
1968         * trans-array.c (gfc_array_init_size): Add two extra arguments
1969         to convey the dynamic element size of a calls object and to
1970         return the number of elements that have been allocated.
1971         (gfc_array_allocate): Add the same arguments and use them to
1972         call gfc_array_init_size.  Before the allocation dereference
1973         the data pointer, if necessary. Set the allocated array to zero
1974         if the class element size or expr3 are non-null.
1975         * trans-expr.c (gfc_conv_class_to_class): Give this function
1976         global scope.
1977         (get_class_array_ref): New function.
1978         (gfc_copy_class_to_class): New function.
1979         * trans-array.h : Update prototype for gfc_array_allocate.
1980         * trans-stmt.c (gfc_trans_allocate): For non-variable class
1981         STATUS expressions extract the class object and the dynamic
1982         element size. Use the latter to call gfc_array_allocate and
1983         the former for setting the vptr and, via
1984         gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
1985         * trans.h : Prototypes for gfc_get_class_array_ref,
1986         gfc_copy_class_to_class and gfc_conv_class_to_class.
1988 2012-01-25  Tobias Burnus  <burnus@net-b.de>
1990         * resolve.c (symbol_as): Check also for attr.class_ok.
1992 2012-01-25  Tobias Burnus  <burnus@net-b.de>
1994         PR fortran/51995
1995         * class.c (gfc_build_class_symbol): Fix invalid freeing
1996         issue with fclass->f2k_derived.
1998 2012-01-25  Tobias Burnus  <burnus@net-b.de>
2000         PR fortran/51995
2001         * class.c (gfc_build_class_symbol): Ensure that
2002         fclass->f2k_derived is set.
2004 2012-01-25  Tobias Burnus  <burnus@net-b.de>
2006         PR fortran/51966
2007         * resolve.c (resolve_structure_cons): Only create an
2008         array constructors for nonscalars.
2010 2012-01-23  Tobias Burnus  <burnus@net-b.de>
2012         PR fortran/51948
2013         * check.c (variable_check): Fix checking for
2014          variables and deeply nested BLOCKs.
2016 2012-01-21  Tobias Burnus  <burnus@net-b.de>
2017             Steven G. Kargl  <kargl@gcc.gnu.org>
2019         PR fortran/50556
2020         * symbol.c (check_conflict): namelist-group-name cannot have the SAVE
2021         attribute.
2023 2012-01-21  Tobias Burnus  <burnus@net-b.de>
2025         PR fortran/51913
2026         * interface.c (compare_parameter): Fix CLASS comparison.
2028 2012-01-20  Tobias Burnus  <burnus@net-b.de>
2029             Janus Weil  <janus@gcc.gnu.org>
2031         PR fortran/51056
2032         * module.c (load_needed, read_module): Don't mark __vtab etc.
2033         as use_only.
2035 2012-01-19  Tobias Burnus  <burnus@net-b.de>
2037         PR fortran/51904
2038         * expr.c (gfc_build_intrinsic_call): Also set the symtree.
2040 2012-01-18  Paul Thomas  <pault@gcc.gnu.org>
2042         PR fortran/51634
2043         * trans-expr.c (gfc_conv_procedure_call): Deallocate allocatable
2044         components of temporary class arguments.
2046 2012-01-17  Tobias Burnus  <burnus@net-b.de>
2047             Janne Blomqvist  <jb@gcc.gnu.org>
2049         PR fortran/51869
2050         * trans-expr.c (alloc_scalar_allocatable_for_assignment): Nullify
2051         LHS after allocation, if it has allocatable components.
2052         * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_CALLOC.
2054 2012-01-16  Mikael Morin  <mikael@gcc.gnu.org>
2055             Tobias Burnus  <burnus@net-b.de>
2057         PR fortran/50981
2058         * trans-array.c (gfc_walk_elemental_function_args): Fix
2059         passing of deallocated allocatables/pointers as absent argument. 
2061 2012-01-16  Tobias Burnus  <burnus@net-b.de>
2063         PR fortran/51809
2064         * class.c (gfc_find_derived_vtab): Mark __vtab and
2065         __def_init as FL_VARIABLE not as FL_PARAMETER.
2066         * expr.c (gfc_simplify_expr): Remove special
2067         handling of __vtab.
2068         * resolve.c (resolve_values): Ditto.
2069         * trans-decl.c (gfc_get_symbol_decl): Mark __vtab
2070         and __def_init as TREE_READONLY.
2072 2012-01-16  Zydrunas Gimbutas  <gimbutas@cims.nyu.edu>
2073         Andreas Kloeckner  <kloeckner@cims.nyu.edu>
2074         Steven G. Kargl  <kargl@gcc.gnu.org>
2076         PR fortran/48426
2077         * gfortran.h (gfc_option_t): Add members flag_*_kind to store kind.
2078         * lang.opt: Add options -freal-4-real-8, -freal-4-real-10,
2079         -freal-4-real-16, -freal-8-real-4, -freal-8-real-10, -freal-8-real-16
2080         and -finteger-4-integer-8. User-desired type conversion information.
2081         * decl.c (gfc_match_old_kind_spec,kind_expr): Type conversions
2082         in declaration parsing.
2083         * trans-types.c (gfc_init_kinds): User-specified type conversion
2084         checked for current backend.
2085         * primary.c (match_integer_constant,match_real_constant): Implement
2086         type conversion in constant parsing.
2087         * options.c (gfc_init_options,gfc_handle_option): Translate input
2088         options to flags in internal options data structure.
2089         * invoke.texi: Document new options.  Re-order options in Options
2090         summary section.
2092 2012-01-16  Paul Thomas  <pault@gcc.gnu.org>
2094         * trans-array.c (gfc_trans_create_temp_array): In the case of a
2095         class array temporary, detect a null 'eltype' on entry and use 
2096         'initial' to provde the class reference and so, through the
2097         vtable, the element size for the dynamic type.
2098         * trans-stmt.c (gfc_conv_elemental_dependencies): For class
2099         expressions, set 'eltype' to null and pass the values via the
2100         'initial' expression.
2102 2012-01-14  Tobias Burnus  <burnus@net-b.de>
2104         PR fortran/51800
2105         * resolve.c (build_default_init_expr): Also initialize
2106         nonconstant-length strings with -finit-character=<n>.
2108 2011-01-14  Tobias Burnus  <burnus@net-b.de>
2110         PR fortran/51816
2111         * module.c (read_module): Don't make nonexisting
2112         intrinsic operators as found.
2113         (rename_list_remove_duplicate): New function.
2114         (gfc_use_modules): Use it.
2116 2012-01-13  Paul Thomas  <pault@gcc.gnu.org>
2118         PR fortran/48351
2119         * trans-array.c (structure_alloc_comps): Suppress interative
2120         call to self, when current component is deallocated using
2121         gfc_trans_dealloc_allocated.
2122         * class.c (gfc_build_class_symbol): Copy the 'alloc_comp'
2123         attribute from the declared type to the class structure.
2125 2012-01-13  Tobias Burnus  <burnus@net-b.de>
2127         PR fortran/51842
2128         * fortran/trans-types.c (gfc_init_kinds): Use PTRDIFF_TYPE
2129         instead of a signed int of size POINTER_SIZE for
2130         gfc_index_integer_kind.
2132 2012-01-12  Tobias Burnus  <burnus@net-b.de>
2134         PR fortran/36755
2135         * intrinsic.texi (CHMOD): Extend a bit and remove statement
2136         that /bin/chmod is called.
2138 2012-01-10  Gerald Pfeifer  <gerald@pfeifer.com>
2140         * gfortran.texi (Fortran 2003 Status): Fix grammar.
2142 2012-01-10  Tobias Burnus  <burnus@net-b.de>
2144         PR fortran/51652
2145         * resolve.c (resolve_allocate_expr): For non-deferred char lengths,
2146         check whether type-spec matches declaration.
2148 2012-01-10  Tobias Burnus  <burnus@net-b.de>
2150         * resolve.c (resolve_ordinary_assign): Improve error wording.
2152 2012-01-09  Paul Thomas  <pault@gcc.gnu.org>
2154         PR fortran/51791
2155         * interface.c (matching_typebound_op): Drill down through
2156         possible parentheses to obtain base expression. Do not test for
2157         'class_ok' but, instead for the class structure components.
2158         * resolve.c (resolve_ordinary_assign): Extend error message for
2159         polymorphic assignment to advise checking for specific
2160         subroutine.
2162         PR fortran/51792
2163         * resolve.c (resolve_typebound_function): Restore 'static' to
2164         declaration.
2166 2012-01-09  Mikael Morin  <mikael@gcc.gnu.org>
2168         PR fortran/51758
2169         * trans-array.c (gfc_walk_elemental_function_args):
2170         Skip over NULL() actual arguments.
2172 2012-01-09  Tobias Burnus  <burnus@net-b.de>
2174         * gfortran.texi: Bump copyright year.
2175         (Fortran 2003 Status): Update polymorphism item, add
2176         item for generic interface with DT name.
2178 2012-01-09  Tobias Burnus  <burnus@net-b.de>
2180         PR fortran/51578
2181         * gfortran.h (gfc_use_list):
2182         * match.h (gfc_use_module): Rename to ...
2183         (gfc_use_modules): ... this.
2184         * module.c (use_locus, specified_nonint, specified_int): Remove
2185         global variable.
2186         (module_name): Change type to const char*, used with gfc_get_string.
2187         (module_list): New global variable.
2188         (free_rename): Free argument not global var.
2189         (gfc_match_use): Save match to module_list.
2190         (load_generic_interfaces, read_module): Don't free symtree.
2191         (write_dt_extensions, gfc_dump_module): Fix module-name I/O due to the
2192         type change of module_name.
2193         (write_symbol0, write_generic): Optimize due to the type change.
2194         (import_iso_c_binding_module, use_iso_fortran_env_module): Use
2195         locus of rename->where.
2196         (gfc_use_module): Take module_list as argument.
2197         (gfc_use_modules): New function.
2198         (gfc_module_init_2, gfc_module_done_2): Init module_list, rename_list.
2199         * parse.c (last_was_use_stmt): New global variable.
2200         (use_modules): New function.
2201         (decode_specification_statement, decode_statement): Move USE match up
2202         and call use_modules.
2203         (next_free, next_fixed): Call use_modules.
2204         (accept_statement): Don't call gfc_module_use.
2206 2012-01-06  Tobias Burnus <burnus@net-b.de>
2208         * trans-openmp.c (gfc_omp_clause_dtor, gfc_trans_omp_array_reduction):
2209         Update call to gfc_trans_dealloc_allocated.
2210         * trans.c (gfc_allocate_using_malloc): Fix spacing.
2211         (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
2212         label_finish when an error occurs.
2213         (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
2214         * trans.h (gfc_allocate_allocatable, gfc_deallocate_with_status):
2215         Update prototype.
2216         (gfor_fndecl_caf_deregister): New tree symbol.
2217         * trans-expr.c (gfc_conv_procedure_call): Update
2218         gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
2219         * trans-array.c (gfc_array_allocate, gfc_trans_dealloc_allocated,
2220         structure_alloc_comps, gfc_trans_deferred_array): Ditto.
2221         (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
2222         * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
2223         gfc_trans_dealloc_allocated): Update prototypes.
2224         * trans-stmt.c (gfc_trans_sync): Fix indentation.
2225         (gfc_trans_allocate): Fix errmsg padding and label handling.
2226         (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
2227         * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
2228         * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
2229         to avoid other stats accidentally matching this one.
2230         * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
2231         (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
2232         and add decl for caf_deregister.
2233         (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
2234         * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
2235         gfc_deallocate_with_status.
2237 2012-01-05  Paul Thomas  <pault@gcc.gnu.org>
2239         PR fortran/PR48946
2240         * resolve.c (resolve_typebound_static): If the typebound
2241         procedure is 'deferred' try to find the correct specific
2242         procedure in the derived type operator space itself.
2244 2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
2246         PR fortran/50981
2247         * trans-array.h (gfc_walk_elemental_function_args): New argument.
2248         * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
2249         * trans-stmt.c (gfc_trans_call): Ditto.
2250         * trans-array.c (gfc_walk_function_expr): Ditto.
2251         (gfc_walk_elemental_function_args): Get the dummy argument list
2252         if possible.  Check that the dummy and the actual argument are both
2253         optional, and set can_be_null_ref accordingly.
2255 2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
2257         PR fortran/50981
2258         * trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
2259         * trans-array.c: If the reference can be NULL, save the reference
2260         instead of the value.
2261         * trans-expr.c (gfc_conv_expr): If we have saved a reference,
2262         dereference it.
2264 2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
2266         * trans-expr.c (gfc_conv_expr): Move address taking...
2267         (gfc_conv_expr_reference): ... here.
2269 2012-01-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
2271         PR fortran/49693
2272         * trans-common.c (create_common): Update copyright years.  Mark
2273         variables as used to avoid warnings about unused variables in
2274         common blocks.
2276 2012-01-03  Hans-Peter Nilsson  <hp@axis.com>
2278         * gfortran.h (struct gfc_expr): Add missing "struct"
2279         qualifier for member base_expr.
2281 2012-01-02  Paul Thomas  <pault@gcc.gnu.org>
2283         PR fortran/51529
2284         * trans-array.c (gfc_array_allocate): Null allocated memory of
2285         newly allocted class arrays.
2287         PR fortran/46262
2288         PR fortran/46328
2289         PR fortran/51052
2290         * interface.c(build_compcall_for_operator): Add a type to the
2291         expression.
2292         * trans-expr.c (conv_base_obj_fcn_val): New function.
2293         (gfc_conv_procedure_call): Use base_expr to detect non-variable
2294         base objects and, ensuring that there is a temporary variable,
2295         build up the typebound call using conv_base_obj_fcn_val.
2296         (gfc_trans_class_assign): Pick out class procedure pointer
2297         assignments and do the assignment with no further prcessing.
2298         (gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
2299         gfc_trans_class_assign): Move to top of file.
2300         * gfortran.h : Add 'base_expr' field to gfc_expr.
2301         * resolve.c (get_declared_from_expr): Add 'types' argument to
2302         switch checking of derived types on or off.
2303         (resolve_typebound_generic_call): Set the new argument.
2304         (resolve_typebound_function, resolve_typebound_subroutine):
2305         Set 'types' argument for get_declared_from_expr appropriately.
2306         Identify base expression, if not a variable, in the argument
2307         list of class valued calls. Assign it to the 'base_expr' field
2308         of the final expression. Strip away all references after the
2309         last class reference.
2311 2012-01-02  Tobias Burnus  <burnus@net-b.de>
2313         PR fortran/51682
2314         * trans-intrinsic.c (trans_this_image, trans_image_index,
2315         trans_num_images, conv_intrinsic_cobound): Fold_convert the
2316         caf_num_images/caf_this_images variables to the correct int kind.
2318 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
2320         * gfortranspec.c (lang_specific_driver): Update copyright notice
2321         dates.
2323 Copyright (C) 2012 Free Software Foundation, Inc.
2325 Copying and distribution of this file, with or without modification,
2326 are permitted in any medium without royalty provided the copyright
2327 notice and this notice are preserved.