OSDN Git Service

2011-05-27 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2011-05-27  Tobias Burnus  <burnus@net-b.de>
2
3         PR fortran/18918
4         * check.c (gfc_check_associated, gfc_check_null): Add coindexed check.
5         * match.c (gfc_match_nullify): Ditto.
6         * resolve.c (resolve_deallocate_expr): Ditto.
7         * trans-types.c (gfc_get_nodesc_array_type): Don't set restricted
8         for nonpointers.
9
10 2011-05-27  Tobias Burnus  <burnus@net-b.de>
11
12         PR fortran/48820
13         * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
14         * intrinsic.c (add_functions): Add rank intrinsic.
15         (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
16         * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes.
17         * simplify.c (gfc_simplify_rank): New function.
18         * intrinsic.texi (RANK): Add description for rank intrinsic.
19         * check.c (gfc_check_rank): New function.
20
21 2011-05-26  Paul Thomas  <pault@gcc.gnu.org>
22             Thomas Koenig  <tkoenig@gcc.gnu.org>
23
24         PR fortran/48955
25         * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
26         changed to GFC_ENABLE_REVERSE.
27         * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
28         to GFC_INHIBIT_REVERSE.
29         * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
30         GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
31         * dependency.c (gfc_dep_resolver): Change names for elements of
32         gfc_reverse as necessary. Change the logic so that forward
33         dependences are remembered as well as backward ones. When both
34         have appeared, force a temporary.
35
36 2011-05-26  Tobias Burnus  <burnus@net-b.de>
37
38         PR fortran/18918
39         * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
40         * trans-decl.c (has_coarray_vars, caf_init_block,
41         gfor_fndecl_caf_register): New file-global variables.
42         (gfc_finish_var_decl): Make sure that coarrays in main are static.
43         (gfc_build_qualified_array): Generate coarray token variable.
44         (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
45         (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
46         (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
47         static coarrays.
48         (generate_local_decl): Check for local coarrays.
49         (create_main_function): SYNC ALL before calling MAIN.
50         (generate_coarray_sym_init): Register static coarray.
51         (generate_coarray_init): Generate CAF registering constructor
52         function.
53         (gfc_generate_function_code): Call it, if needed, do not create
54         cgraph twice.
55         (gfc_generate_module_vars, gfc_process_block_locals): Call
56         generate_coarray_init.
57         * trans-types.c (gfc_get_nodesc_array_type): Generate pointers for
58         -fcoarray=lib.
59         * trans.h (gfor_fndecl_caf_register): New variable.
60         (lang_type): New element caf_token.
61         (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
62
63 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
64
65         * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
66         (gfortran$(exeext)): Use libcommon-target.a.
67
68 2011-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
69
70         * frontend-passes.c (cfe_register_funcs):  Also register
71         character functions if their charlens are known and constant.
72         Also register allocatable functions.
73
74 2011-05-21  Janus Weil  <janus@gcc.gnu.org>
75
76         PR fortran/48699
77         * match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
78         selector is ALLOCATABLE.
79
80 2011-05-20  Janus Weil  <janus@gcc.gnu.org>
81
82         PR fortran/48706
83         * module.c (write_dt_extensions): Do not write extended types which
84         are local to a subroutine.
85
86 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
87
88         * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.
89
90 2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
91
92         * gfortran.texi (set_fpe): Update documentation.
93         * invoke.texi (-ffpe-trap): Likewise.
94         * libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT.
95         * options.c (gfc_handle_fpe_trap_option): Handle inexact and make
96         precision an alias for it.
97
98 2011-05-19  Tobias Burnus  <burnus@net-b.de>
99
100         PR fortran/18918
101         * trans-types.c (gfc_get_element_type): Handle scalar coarrays.
102         (gfc_get_nodesc_array_type): Make a variant-type copy for scalar
103         coarrays.
104         * trans.c (gfc_build_array_ref): Return original type not variant
105         copy for scalar coarrays.
106         * trans-array.c (gfc_conv_array_ref): Ditto.
107
108 2011-05-18  Janus Weil  <janus@gcc.gnu.org>
109
110         PR fortran/48700
111         * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'
112         argument to avoid memory leaks.
113
114 2011-05-16  Tobias Burnus  <burnus@net-b.de>
115
116         * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
117         (Fortran 2008 status): Multi-image support for coarrays.
118         (TR 19113 status): New section.
119
120 2011-05-15  Tobias Burnus  <burnus@net-b.de>
121
122         PR fortran/18918
123         actual argument is not an array; rank mismatch is diagnosted later.
124         * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handle
125         scalar coarrays.
126         * trans-types.c (gfc_get_array_type_bounds): Ditto.
127
128 2011-05-15  Joern Rennecke  <amylaar@spamcop.net>
129
130         PR middle-end/46500
131         * trans-types.c: Include "tm.h".
132         [0] (c_size_t_size): Remove.
133
134 2011-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
135
136         PR libfortran/48915
137         * gfortran.texi (_gfortran_set_options): Even though -fbacktrace
138         is now the default, the library defaults to backtracing disabled.
139
140 2011-05-14  Tobias Burnus  <burnus@net-b.de>
141
142         * lang.opt (fdump-core): Re-add as ignored option
143         for backward compatibility.
144
145 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
146
147         PR libfortran/48915
148         * gfortran.texi: Update mixed-language programming section
149         reflecting the removal of the fdump-core option, and that
150         -fbacktrace is now enabled by default.
151
152 2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
153
154         PR fortran/22572
155         * frontend-passes.c (cfe_register_funcs):  Also register functions
156         for potential elimination if the rank is > 0, the shape is unknown
157         and reallocate on assignment is active.
158         (create_var):  For rank > 0 functions with unknown shape, create
159         an allocatable temporary.
160
161 2011-05-14  Tobias Burnus  <burnus@net-b.de>
162
163         PR fortran/18918
164         * interface.c (compare_parameter): Skip diagnostic if
165         actual argument is not an array; rank mismatch is diagnosted later.
166
167 2011-05-14  Tobias Burnus  <burnus@net-b.de>
168
169         * options.c (gfc_init_options, gfc_post_options): Enable
170         -fstack-arrays by default if -Ofast is used.
171         * invoke.texi (-fstack-arrays): Document this.
172
173 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
174
175         PR libfortran/48915
176         * gfortran.h (gfc_option_t): Remove flag_dump_core.
177         * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
178         (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
179         * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
180         * invoke.texi: Remove -fdump-core, document that -fbacktrace is
181         enabled by default.
182         * lang.opt: Remove -fdump-core.
183         * options.c (gfc_init_options): Make backtrace default to enabled,
184         remove dump_core.
185         (gfc_handle_option): Remove OPT_fdump-core.
186         * trans-decl.c: Pass a 0 to preserve ABI.
187
188 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
189
190         * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
191
192 2011-05-13  Tobias Burnus  <burnus@net-b.de>
193
194         PR fortran/48972
195         * io.c (resolve_tag_format, resolve_tag): Make sure
196         that the string is of default kind.
197         (gfc_resolve_inquire): Also resolve decimal tag.
198
199 2011-05-12  Tobias Burnus  <burnus@net-b.de>
200
201         PR fortran/48972
202         * resolve.c (resolve_intrinsic): Don't resolve module
203         intrinsics multiple times.
204
205 2011-05-11  Tobias Burnus  <burnus@net-b.de>
206
207         PR fortran/48889
208         * expr.c (gfc_is_constant_expr): Use e->value.function.esym
209         instead of e->symtree->n.sym, if available.
210
211 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
212
213         * f95-lang.c (global_bindings_p): Return bool and simplify.
214
215 2011-05-07  Tobias Burnus  <burnus@net-b.de>
216
217         PR fortran/18918
218         PR fortran/48919
219         * trans.h: Move gfc_init_coarray_decl prototype ...
220         * gfortran.h: ... to here.
221         * parse.c (translate_all_program_units): Call gfc_init_coarray_decl.
222         (gfc_parse_file): Update translate_all_program_units call.
223         * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,
224         new argument whether DECL_EXTERNAL should be used.
225         (create_main_function): Update gfc_init_coarray_decl call.
226         * trans-intrinsic.c (trans_this_image, trans_image_index,
227         conv_intrinsic_cobound): Ditto.
228
229 2011-05-06  Tobias Burnus  <burnus@net-b.de>
230
231         PR fortran/18918
232         * trans-array.c (gfc_walk_variable_expr): Continue walking
233         for scalar coarrays.
234         * trans-intrinsic.c (convert_element_to_coarray_ref): New function.
235         (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
236         (trans_this_image): Fix algorithm.
237         * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,
238         gfc_sym_type): Handle scalar coarrays.
239
240 2011-05-06  Tobias Burnus  <burnus@net-b.de>
241
242         PR fortran/48858
243         PR fortran/48820
244         * lang.opt (std=f2008tr): New.
245         * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
246         * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
247         procedures for -std=f2008tr/gnu/legacy.
248         (gfc_match_import): Set sym to NULL.
249         * options.c (set_default_std_flags,gfc_handle_option): Handle
250         -std=f2008tr.
251         * invoke.texi (-std=): Document -std=f2008tr.
252
253 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
254
255         * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
256         * trans-io.c (add_case): Likewise.
257         * trans-stmt.c (gfc_trans_integer_select): Likewise.
258         (gfc_trans_character_select): Likewise.
259
260 2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
261
262         * trans-decl.c (trans_function_start): Do not set
263         dont_save_pending_sizes_p.
264
265 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
266
267         * trans.h (gfc_chainon_list): Delete.
268         * trans.c (gfc_chainon_list): Delete.
269
270 2011-05-04  Tobias Burnus  <burnus@net-b.de>
271
272         PR fortran/48864
273         * invoke.texi (fno-protect-parens): Document
274         that -Ofast implies -fno-protect-parens.
275         * options.c (gfc_init_options, gfc_post_options):
276         Make -Ofast imply -fno-protect-parens.
277
278 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
279
280         * trans-decl.c (build_library_function_decl_1): Call
281         build_function_type_vec.  Adjust argument list building accordingly.
282         * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
283         * trans-types.c (gfc_get_function_type): Likewise.
284
285 2011-05-04  Richard Guenther  <rguenther@suse.de>
286
287         * trans-array.c (gfc_trans_array_constructor_value): Use
288         size_int for bounds of range types.
289         (gfc_trans_array_constructor_value): Use size_type_node
290         for memcpy argument.
291         * trans-common.c (build_field): Use gfc_charlen_type_node
292         for lengths.
293         * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
294         as type to build_int_cst.
295         * trans-const.c (gfc_build_string_const): Use size_int
296         for bounds of range types.
297         (gfc_build_wide_string_const): Likewise.
298         * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
299         for lengths.
300         (gfc_trans_character_select): Likewise.
301         (gfc_trans_character_select): Do not pass NULL
302         as type to build_int_cst.
303         (gfc_trans_character_select): Use size_int for bounds of range types.
304         * trans-io.c (gfc_build_io_library_fndecls): Likewise.
305         (add_case): Do not pass NULL as type to build_int_cst.
306         (transfer_expr): Likewise.
307         (transfer_array_desc): Likewise.
308         * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
309         for lengths.
310         (gfc_trans_assign_aux_var): Likewise.
311         (create_main_function): Use size_int for bounds of range types.
312         * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
313         NULL as type to build_int_cst.
314         (gfc_conv_intrinsic_spacing): Likewise.
315         (gfc_conv_intrinsic_rrspacing): Likewise.
316         (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
317
318 2011-05-04  Richard Guenther  <rguenther@suse.de>
319
320         * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
321         argument to int_const_binop.
322
323 2011-05-03  Tobias Burnus  <burnus@net-b.de>
324
325         PR fortran/18918
326         * trans-intrinsic.c (trans_this_image): Implement version with
327         coarray argument.
328         (conv_intrinsic_cobound): Simplify code.
329         (gfc_conv_intrinsic_function): Call trans_this_image for
330         this_image(coarray) except for -fcoarray=single.
331
332 2011-05-02  Steven G. Kargl  <kargl@gcc.gnu.org>
333
334         PR fortran/48720
335         * gfortran.texi: Document the 'Q' exponent-letter extension.
336         * invoke.texi: Document -Wreal-q-constant.
337         * lang.opt: Add -Wreal-q-constant option.
338         * gfortran.h: Add warn_real_q_constant to option struct.
339         * primary.c (match_real_constant):  Use it.  Accept 'Q' as
340         exponent-letter for REAL(16) real-literal-constant with a
341         fallback to REAL(10) or error if REAL(10) is not available.
342         * options.c (gfc_init_options, set_Wall) Set it.
343         (gfc_handle_option): Handle new option.
344
345 2011-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
346
347         * dump-prase-tree.c (show_code_node):  Set the current
348         namespace to the BLOCK before displaying it; restore
349         afterwards.
350
351 2011-04-30  Tobias Burnus  <burnus@net-b.de>
352
353         PR fortran/48821
354         * decl.c (gfc_match_import): Don't try to find the
355         symbol if already found.
356
357 2011-04-30  Paul Thomas  <pault@gcc.gnu.org>
358
359         PR fortran/48746
360         * trans-expr.c (fcncall_realloc_result): Set the bounds and the
361         offset so that the lbounds are one.
362         (gfc_trans_arrayfunc_assign): Add rank to arguments of above.
363
364 2011-04-29  Paul Thomas  <pault@gcc.gnu.org>
365
366         PR fortran/48462
367         * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
368         automatic reallocation when the lhs is a target.
369
370         PR fortran/48746
371         * trans-expr.c (fcncall_realloc_result): Make sure that the
372         result dtype field is set before the function call.
373
374 2011-04-29  Tobias Burnus  <burnus@net-b.de>
375
376         PR fortran/48810
377         * resolve.c (resolve_typebound_generic_call): Don't check access
378         flags of the specific function.
379
380         PR fortran/48800
381         * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
382         to AS_ASSUMED_SHAPE for function results.
383         (resolve_fl_var_and_proc): Print also for function results with
384         AS_DEFERRED an error, if they are not a pointer or allocatable.
385         (resolve_types): Make sure arguments of procedures in interface
386         blocks are resolved.
387
388 2011-04-29  Michael Matz  <matz@suse.de>
389
390         * options.c (options.c): Set warn_maybe_uninitialized.
391
392 2011-04-28  Tobias Burnus  <burnus@net-b.de>
393
394         PR fortran/48112
395         * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
396         function results only once.
397         (resolve_symbol): Always resolve function results.
398
399         PR fortran/48279
400         * expr.c (gfc_check_vardef_context): Fix handling of generic
401         EXPR_FUNCTION.
402         * interface.c (check_interface0): Reject internal functions
403         in generic interfaces, unless -std=gnu.
404
405 2011-04-27  Tobias Burnus  <burnus@net-b.de>
406
407         PR fortran/48788
408         * resolve.c (resolve_global_procedure): Error recovery -
409         avoid segfault for (non)character-returning functions.
410
411 2011-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
412
413         * decl.c (gfc_match_end):  Check that the block name starts
414         with "block@".
415         * parse.c (gfc_build_block_ns):  Make block names unique by
416         numbering them.
417
418 2011-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
419
420         * frontend-passes.c (inserted_block):  New variable.
421         (changed_statement):  Likewise.
422         (create_var):  Encase statement to be operated on in a BLOCK.
423         Adjust code insertion for BLOCK.
424         (cfe_code):  Set inserted_block and changed_statement to NULL.
425
426 2011-04-23  Tobias Burnus  <burnus@net-b.de>
427
428         PR fortran/18918
429         * module.c (mio_array_spec): Set as->cotype on reading.
430         * resolve.c (resolve_allocate_expr): Fix allocating coarray
431         components.
432
433 2011-04-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
434
435         PR fortran/48405
436         * frontend_passes (cfe_register_funcs): Remove workaround for DO
437         loops.
438         (gfc_code_walker):  Make sure the pointer to the current
439         statement doen't change when other statements are inserted.
440
441 2011-04-21  Tobias Burnus  <burnus@net-b.de>
442
443         PR fortran/18918
444         * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
445
446 2011-04-20  Jim Meyering  <meyering@redhat.com>
447
448         * expr.c (free_expr0): Remove useless if-before-free.
449         * gfortranspec.c (lang_specific_pre_link): Likewise.
450         * interface.c (gfc_extend_expr): Likewise.
451         * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
452
453 2011-04-19  Tobias Burnus  <burnus@net-b.de>
454
455         PR fortran/48588
456         PR fortran/48692
457
458         * module.c (fix_mio_expr): Commit created symbol.
459
460 2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
461
462         * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
463
464 2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
465
466         * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
467         free.
468
469 2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
470
471         * misc.c (gfc_getmem): Remove function.
472         * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
473         usage with XCNEW or XCNEWVEC.
474         * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
475         XCNEW or XCNEWVEC.
476         * options.c (gfc_handle_module_path_options)
477         (gfc_get_option_string): Likewise.
478         * resolve.c (gfc_resolve_forall): Likewise.
479         * simplify.c (simplify_transformation_to_array): Likewise.
480         * target-memory.c (gfc_target_interpret_expr): Likewise.
481         * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
482         (get_init_field): Likewise.
483         * trans-expr.c (gfc_conv_statement_function): Likewise.
484         * trans-io.c (nml_full_name): Likewise.
485         * trans-stmt.c (gfc_trans_forall_1): Likewise.
486         * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
487
488 2011-04-19  Tobias Burnus  <burnus@net-b.de>
489
490         PR fortran/48588
491         * parse.c (resolve_all_program_units): Skip modules.
492         (translate_all_program_units): Handle modules.
493         (gfc_parse_file): Defer code generation for modules.
494
495 2011-04-19  Martin Jambor  <mjambor@suse.cz>
496
497         * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
498         instead of cgraph_get_create_node.
499
500 2011-04-18  Jim Meyering  <meyering@redhat.com>
501
502         remove now-unused definition of gfc_free
503         * misc.c (gfc_free): Remove function.
504         * gfortran.h (gfc_free): Remove its prototype.
505
506 2011-04-18  Jim Meyering  <meyering@redhat.com>
507
508         convert each use of gfc_free (p) to free (p)
509         Do that by running this command:
510           perl -pi -e    's/\bgfc_free ?\(/free (/' \
511             $(git grep -El '\bgfc_free ?\(')
512         which also corrects the few uses that lacked a space between
513         the function name and the open parenthesis.
514         Manually undo the change to the function definition itself
515         and its prototype.  They'll be removed next.
516         * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
517         * constructor.c (node_free): Likewise.
518         * cpp.c (dump_queued_macros): Likewise.
519         * data.c (gfc_assign_data_value): Likewise.
520         * decl.c (free_variable, free_value, gfc_free_data): Likewise.
521         (gfc_free_data_all, match_old_style_init): Likewise.
522         (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
523         Likewise.
524         (gfc_match_modproc): Likewise.
525         * dependency.c (check_section_vs_section): Likewise.
526         * error.c (gfc_pop_error, gfc_free_error): Likewise.
527         * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
528         (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
529         (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
530         Likewise.
531         * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
532         (strip_function_call, optimize_comparison): Likewise.
533         * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
534         (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
535         Likewise.
536         * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
537         (gfc_convert_chartype): Likewise.
538         * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
539         Likewise.
540         (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
541         * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
542         (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
543         Likewise.
544         (free_case, gfc_free_forall_iterator): Likewise.
545         * misc.c: Likewise.
546         * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
547         (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
548         (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
549         (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
550         (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
551         (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
552         * openmp.c (gfc_free_omp_clauses): Likewise.
553         * options.c (gfc_post_options): Likewise.
554         * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
555         * primary.c (gfc_free_structure_ctor_component): Likewise.
556         * resolve.c (resolve_structure_cons, check_host_association): Likewise.
557         (gfc_resolve_forall, resolve_equivalence): Likewise.
558         * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
559         (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
560         (load_file, gfc_read_orig_filename): Likewise.
561         * simplify.c (simplify_transformation_to_array): Likewise.
562         (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
563         Likewise.
564         (gfc_simplify_compiler_options): Likewise.
565         * st.c (gfc_free_statement, gfc_free_statements): Likewise.
566         (gfc_free_association_list): Likewise.
567         * symbol.c (free_components, gfc_free_st_label, free_st_labels):
568         Likewise.
569         (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
570         (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
571         (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
572         (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
573         Likewise.
574         (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
575         (gfc_free_namespace): Likewise.
576         * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
577         (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
578         (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
579         * trans-common.c (get_init_field, create_common): Likewise.
580         * trans-const.c (gfc_build_wide_string_const): Likewise.
581         (gfc_conv_string_init): Likewise.
582         * trans-decl.c (gfc_generate_function_code): Likewise.
583         * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
584         Likewise.
585         (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
586         (gfc_trans_subarray_assign): Likewise.
587         * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
588         * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
589         (transfer_namelist_element, transfer_array_component): Likewise.
590         * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
591         * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
592         * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
593         Likewise.
594
595 2011-04-15  Jim Meyering  <meyering@redhat.com>
596
597         gfortran: remove cpp definition of free, ...
598         in preparation for the s/gfc_free/free/ transformation.
599         * gfortran.h (free): Remove macro definition that would otherwise
600         prevent direct use of the function.
601
602 2011-04-18  Tobias Burnus  <burnus@net-b.de>
603
604         PR fortran/18918
605         * array.c (gfc_match_array_ref): Check for too many codimensions.
606         * check.c (gfc_check_image_index): Check number of elements
607         in SUB argument.
608         * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
609
610 2011-04-18  Tobias Burnus  <burnus@net-b.de>
611
612         PR fortran/18918
613         * iresolve.c (gfc_resolve_image_index): Set ts.type.
614         * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
615         are not known at compile time and handle -fcoarray=lib.
616         * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
617         IMAGE_INDEX.
618         (conv_intrinsic_cobound): Fix comment typo.
619         (trans_this_image): New function.
620         * trans-array.c (gfc_unlikely): Move to trans.c.
621         * trans.c (gfc_unlikely): Function moved from trans-array.c.
622         (gfc_trans_runtime_check): Use it.
623         * trans-io.c (gfc_trans_io_runtime_check): Ditto.
624         * trans.h (gfc_unlikely): Add prototype.
625
626 2011-04-18  Paul Thomas  <pault@gcc.gnu.org>
627
628         PR fortran/48462
629         * trans-expr.c (fcncall_realloc_result): Renamed version of
630         realloc_lhs_bounds_for_intrinsic_call that does not touch the
631         descriptor bounds anymore but makes a temporary descriptor to
632         hold the result.
633         (gfc_trans_arrayfunc_assign): Modify the reference to above
634         renamed function.
635
636 2011-05-17  Tobias Burnus  <burnus@net-b.de>
637
638         PR fortran/48624
639         * trans-decl.c (gfc_get_extern_function_decl): Fix decl
640         for external procedures with proc arguments.
641
642 2011-04-15  Michael Matz  <matz@suse.de>
643
644         * trans-array.c (toplevel): Include gimple.h.
645         (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
646         properly expand variable length arrays.
647         (gfc_trans_auto_array_allocation): If flag_stack_arrays create
648         variable length decls and associate them with their scope.
649         * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
650         * options.c (gfc_init_options): Handle -fstack_arrays option.
651         * lang.opt (fstack-arrays): Add option.
652         * invoke.texi (Code Gen Options): Document it.
653         * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
654
655 2011-04-15  Tobias Burnus  <burnus@net-b.de>
656
657         PR fortran/18918
658         * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
659         code which is also causing an ICE.
660
661 2011-04-14  Nathan Froyd  <froydnj@codesourcery.com>
662
663         * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
664
665 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
666
667         * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
668         calling TREE_CHAIN.
669
670 2011-04-12  Paul Thomas  <pault@gcc.gnu.org>
671
672         PR fortran/48360
673         PR fortran/48456
674         * trans-array.c (get_std_lbound): For derived type variables
675         return array valued component lbound.
676
677 2011-04-12  Martin Jambor  <mjambor@suse.cz>
678
679         * trans-decl.c (gfc_generate_function_code): Call
680         cgraph_get_create_node instead of cgraph_node.
681
682 2011-04-11  Tobias Burnus  <burnus@net-b.de>
683
684         PR fortran/18918
685         * simplify.c (simplify_bound_dim): Exit for
686         ucobound's last dimension unless -fcoarray=single.
687         * trans-array (gfc_conv_descriptor_size_1): Renamed from
688         gfc_conv_descriptor_size, made static, has now from_dim and
689         to_dim arguments.
690         (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
691         (gfc_conv_descriptor_cosize): New function.
692         * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
693         * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
694         and handle last codim of ucobound for when -fcoarray is not "single".
695
696 2011-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
697
698         PR fortran/48448
699         * gfortran.h (gfc_option_t):  Add warn_function_elimination and
700         flag_frontend_optimize.
701         * lang.opt (Wfunction-elimination):  Add.
702         (ffrontend-optimize):  Add.
703         * invoke.texi:  Add documentation for -Wfunction-elimination
704         and -ffrontend-optimize.  Add -faggressive-function-elimination
705         to list of code generation options.
706         * frontend-passes.c (gfc_run_passes):  Run optimizations if
707         flag_frontend_optimize is set.
708         (warn_function_elimination):  New function.
709         (cfe_expr_0):  Call it if requested to do so.
710         * options.c (gfc_init_options):  Initiate warn_function_elimination
711         and flag_frontend_optimize.
712         (gfc_post_options):  Set flag_frontend_optimize if not specified
713         by user, depending on the optimization level.
714         (gfc_handle_option):  Handle -Wfunction-elimination and
715         -ffrontend-optimize.
716
717 2011-04-06  Tobias Burnus  <burnus@net-b.de>
718
719         PR fortran/18918
720         * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
721         call for this_image.
722
723 2011-04-05  Nathan Froyd  <froydnj@codesourcery.com>
724
725         * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
726         build_function_type_list instead of build_function_type.  Correct
727         argument order for func_frexp and func_scalbn.
728
729 2011-04-05  Duncan Sands  <baldrick@free.fr>
730
731         * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
732
733 2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
734
735         * frontend-passes: (optimize_lexical_comparison): New function.
736         (optimize_expr): Call it.
737         (optimize_comparison): Also handle lexical comparison functions.
738         Return false instad of -2 for unequal comparison.
739
740 2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
741
742         PR fortran/48412
743         * frontend-passes (cfe_expr_0):  Reverse the order of going
744         through the loops.
745
746 2011-04-04  Tobias Burnus  <burnus@net-b.de>
747             Mikael Morin  <mikael.morin@sfr.fr>
748
749         PR fortran/18918
750         * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
751         * expr.c (gfc_is_coindexed): Ditto.
752         * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
753         * interface.c (compare_parameter): Use gfc_expr_attr and
754         gfc_is_coindexed.
755         * resolve.c (check_dimension, compare_spec_to_ref,
756         resolve_allocate_expr, check_data_variable): Update for
757         DIMEN_THIS_IMAGE.
758         * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
759         gfc_simplify_ucobound): Allow non-constant bounds.
760         * trans-array.c (gfc_set_loop_bounds_from_array_spec,
761         gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
762         gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
763         gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
764         gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
765         gfc_conv_ss_startstride, gfc_conv_loop_setup,
766         gfc_trans_array_bounds, gfc_conv_expr_descriptor,
767         gfc_walk_variable_expr): Handle codimen.
768         * trans-decl.c (gfc_build_qualified_array): Save cobounds.
769         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
770         (conv_intrinsic_cobound): New function.
771         (gfc_conv_intrinsic_function): Call it.
772         (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
773         ucobound, lcobound, this_image.
774         * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
775         (gfc_get_dtype): Honour corank.
776         (gfc_get_nodesc_array_type): Save corank and codimensions.
777         (gfc_get_array_type_bounds): Save cobound.
778         * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
779         (gfc_array_kind): Add corank item.
780         (GFC_TYPE_ARRAY_CORANK): New macro.
781
782 2011-04-03  Kai Tietz  <ktietz@redhat.com>
783
784         PR middle-end/48422
785         * Make-lang.in (f95-lang.o): Add some missing dependencies.
786
787 2011-04-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
788
789         PR fortran/48352
790         * frontend-passes (cfe_register_funcs):  Don't
791         register functions if they appear as iterators in DO loops.
792
793 2011-03-30  Michael Matz  <matz@suse.de>
794
795         PR fortran/47516
796         * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
797         don't use local variable.
798         (gfc_trans_arrayfunc_assign): Adjust caller.
799
800 2011-03-29  Janus Weil  <janus@gcc.gnu.org>
801
802         PR fortran/48095
803         * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
804         * module.c (MOD_VERSION): Bump.
805         (mio_typespec): Read/write 'interface' field.
806         * primary.c (match_string_constant,match_logical_constant): Remove
807         unneeded code.
808         (match_complex_constant): Make sure to clear the typespec.
809
810 2011-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
811
812         * frontend-passes.c (create_var):  Warn about creating an
813         array temporary if requested.
814
815 2011-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
816
817         PR fortran/47065
818         * frontend-passes.c (optimize_trim): Also follow references, except
819         when they are substring references or array references.
820
821 2011-03-27  Tobias Burnus  <burnus@net-b.de>
822
823         PR fortran/18918
824         * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
825         GFC_ISYM_NUM_IMAGES.
826         (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
827         * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
828         rename.
829         * invoke.texi (-fcoarray=): Document "lib" argument.
830         * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
831         * libgfortran.h (libgfortran_stat_codes): Add comments.
832         * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
833         * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
834         Handle GFC_FCOARRAY_LIB.
835         * trans.h (gfc_init_coarray_decl): New prototype.
836         (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
837         gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
838         gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
839         gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
840         gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
841         New global variables.
842         * trans-decl.c: Declare several CAF functions (cf. above).
843         (gfc_build_builtin_function_decls): Initialize those.
844         (gfc_init_coarray_decl): New function.
845         (create_main_function): Call CAF init/finalize functions.
846         * trans-intrinsic.c (trans_this_image, trans_num_images): New.
847         (gfc_conv_intrinsic_function): Call those.
848         * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
849         Add code for GFC_FCOARRAY_LIB.
850
851 2011-03-26  Janus Weil  <janus@gcc.gnu.org>
852
853         PR fortran/48291
854         * class.c (get_unique_hashed_string): Adjust maximum allowable length
855         for unique type string.
856
857 2011-03-25  Kai Tietz  <ktietz@redhat.com>
858
859         * scanner.c (preprocessor_line): Use filename_cmp
860         instead of strcmp.
861
862 2011-03-25  Tobias Burnus  <burnus@net-b.de>
863
864         PR fortran/48174
865         PR fortran/45304
866         * trans-types.c (gfc_get_function_type): Don't use varargs if the
867         procedure is known to have no arguments.
868
869 2010-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
870
871         PR fortran/22572
872         * gfortran.h (gfc_option_t) : Add
873         flag_aggressive_function_elimination.
874         (gfc_dep_compare_functions):  Add prototype.
875         * lang.opt: Add faggressive-function-elimination.
876         * invoke.texi: Document -faggressive-function-elimination.
877         * frontend_passes (expr_array):  New static variable.
878         (expr_size):  Likewise.
879         (expr_count):  Likewise.
880         (current_code):  Likewise.
881         (current_ns):  Likewise.
882         (gfc_run_passes):  Allocate and free space for expressions.
883         (cfe_register_funcs):  New function.
884         (create_var):  New function.
885         (cfc_expr_0):  New function.
886         (cfe_code):  New function.
887         (optimize_namespace):  Invoke gfc_code_walker with cfe_code
888         and cfe_expr_0.
889         * dependency.c (gfc_dep_compare_functions):  New function.
890         (gfc_dep_compare_expr):  Use it.
891         * options.c (gfc_init_options):  Handle
892         flag_aggressive_function_elimination.
893         (gfc_handle_option):  Likewise.
894
895 2011-03-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
896
897         * arith.c (arith_power): Plug memory leak.
898
899 2011-03-12  Janus Weil  <janus@gcc.gnu.org>
900
901         PR fortran/48059
902         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
903         for polymorphic arguments.
904
905 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
906
907         PR fortran/48054
908         * intrinsic.texi: Clarify doc of logarithm functions.
909
910 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
911
912         PR fortran/47552
913         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
914         the string length variable.
915
916 2011-03-11  Janus Weil  <janus@gcc.gnu.org>
917
918         PR fortran/47768
919         * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
920         (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
921
922 2011-03-06  Paul Thomas  <pault@gcc.gnu.org>
923             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
924
925         PR fortran/47850
926         * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
927         the expression has an iterator.  Otherwise, iterate through the
928         array, checking for constant expressions for each element.
929
930 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
931
932         PR libfortran/47802
933         * intrinsic.texi: Update CTIME and FDATE documentation.
934
935 2011-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
936
937         * invoke.texi (Option Summary, Fortran Dialect Options)
938         (Preprocessing Options, Runtime Options, Code Gen Options):
939         Fix vertical list spacing by using @itemx for additinoal
940         items, empty line before @table.  Fix typos.
941
942 2011-02-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
943
944         PR fortran/47894
945         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
946
947 2011-02-26  Tobias Burnus  <burnus@net-b.de>
948
949         PR fortran/47846
950         * trans-stmt.c (gfc_trans_allocate): Fix allocation with
951         type-spec of deferred-length strings.
952
953 2011-02-26  Tobias Burnus  <burnus@net-b.de>
954
955         PR fortran/47886
956         * openmp.c (gfc_resolve_omp_directive): Resolve if()
957         condition of OpenMP's task.
958
959 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
960
961         PR fortran/47894
962         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
963
964 2011-02-24  Tobias Burnus  <burnus@net-b.de>
965
966         PR fortran/47872
967         * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
968         multitable for linebreak between different syntax variants.
969
970 2011-02-24  Richard Guenther  <rguenther@suse.de>
971
972         PR fortran/47839
973         * f95-lang.c (pushdecl): For externs in non-global scope push
974         a copy of the decl into the BLOCK.
975
976 2011-02-23  Mikael Morin  <mikael@gcc.gnu.org>
977
978         PR fortran/40850
979         * trans.c (gfc_prepend_expr_to_block): New function.
980         * trans.h (gfc_prepend_expr_to_block): Declare.
981         * trans-array.c (gfc_conv_array_parameter): Replace
982         gfc_add_expr_to_block with gfc_prepend_expr_to_block.
983
984 2011-02-22  Paul Thomas  <pault@gcc.gnu.org>
985
986         PR fortran/45743
987         * trans-decl.c (gfc_get_extern_function_decl): Don't use the
988         gsymbol backend_decl if the procedure has a formal argument
989         that is a procedure.
990
991 2011-02-22  Tobias Burnus  <burnus@net-b.de>
992
993         PR fortran/41359
994         * trans-stmt.c (gfc_trans_if_1): Use correct line for
995         expressions in the if condition.
996
997 2011-02-20  Tobias Burnus  <burnus@net-b.de>
998
999         PR fortran/47797
1000         * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
1001         gfc_restore_backend_locus to have better debug locations.
1002         * trans-array.c (gfc_trans_deferred_array): Ditto.
1003
1004 2011-02-20  Paul Thomas  <pault@gcc.gnu.org>
1005
1006         PR fortran/45077
1007         PR fortran/44945
1008         * trans-types.c (gfc_get_derived_type): Remove code that looks
1009         for decls in gsym and add call to gfc_get_module_backend_decl.
1010         * trans.h : Add prototype for gfc_get_module_backend_decl.
1011         * trans-decl.c (gfc_get_module_backend_decl): New function.
1012         (gfc_get_symbol_decl): Call it.
1013
1014 2011-02-19  Paul Thomas  <pault@gcc.gnu.org>
1015
1016         PR fortran/47348
1017         * trans-array.c (get_array_ctor_all_strlen): Move up in file.
1018         (get_array_ctor_var_strlen): Add block dummy and add call to
1019         get_array_ctor_all_strlen instead of giving up on substrings.
1020         Call gcc_unreachable for default case.
1021         (get_array_ctor_strlen): Add extra argument to in call to
1022         get_array_ctor_var_strlen.
1023
1024 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
1025
1026         PR fortran/47789
1027         * primary.c (gfc_match_structure_constructor): Handle empty parent
1028         types.
1029
1030 2011-02-18  Tobias Burnus
1031
1032         PR fortran/47775
1033         * trans-expr.c (arrayfunc_assign_needs_temporary): Use
1034         esym to check whether the specific procedure returns an
1035         allocatable or pointer.
1036
1037 2011-02-18  Michael Matz  <matz@suse.de>
1038
1039         PR fortran/45586
1040         * gfortran.h (struct gfc_component): Add norestrict_decl member.
1041         * trans.h (struct lang_type): Add nonrestricted_type member.
1042         * trans-expr.c (gfc_conv_component_ref): Search fields with correct
1043         parent type.
1044         * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
1045         (gfc_sym_type): Use it.
1046
1047 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
1048
1049         PR fortran/47768
1050         * resolve.c (resolve_transfer): Reject variables with procedure pointer
1051         components.
1052
1053 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
1054
1055         PR fortran/47767
1056         * gfortran.h (gfc_check_access): Removed prototype.
1057         (gfc_check_symbol_access): Added prototype.
1058         * module.c (gfc_check_access): Renamed to 'check_access', made static.
1059         (gfc_check_symbol_access): New function, basically a shortcut for
1060         'check_access'.
1061         (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
1062         'gfc_check_symbol_access'.
1063         (write_operator,write_module): Renamed 'gfc_check_access'.
1064         * resolve.c (resolve_fl_procedure,resolve_fl_derived,
1065         resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
1066         'gfc_check_symbol_access'.
1067
1068 2011-02-16  Janus Weil  <janus@gcc.gnu.org>
1069
1070         PR fortran/47745
1071         * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
1072         * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
1073         'gfc_build_class_symbol'.
1074         (gfc_match_decl_type_spec): Reject unlimited polymorphism.
1075         * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
1076         * match.c (select_type_set_tmp): Move setting of 'class_ok' into
1077         'gfc_build_class_symbol'.
1078         * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
1079
1080 2011-02-15  Steven G. Kargl  <kargl@gcc.gnu.org>
1081
1082         PR fortran/47633
1083         . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
1084
1085 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
1086
1087         PR fortran/47730
1088         * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
1089
1090 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
1091
1092         PR fortran/47728
1093         * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
1094         arrays.
1095         * primary.c (gfc_match_varspec): Avoid ICE for invalid class
1096         declaration.
1097
1098 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
1099
1100         PR fortran/47349
1101         * interface.c (get_expr_storage_size): Handle derived-type components.
1102
1103 2011-02-13  Tobias Burnus  <burnus@net-b.de>
1104
1105         PR fortran/47569
1106         * interface.c (compare_parameter): Avoid ICE with
1107         character components.
1108
1109 2011-02-12  Janus Weil  <janus@gcc.gnu.org>
1110
1111         * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
1112         * decl.c (build_sym,build_struct,attr_decl1): Use return value of
1113         'gfc_build_class_symbol'.
1114
1115 2011-02-12  Michael Matz  <matz@suse.de>
1116             Janus Weil  <janus@gcc.gnu.org>
1117             Tobias Burnus  <burnus@net-b.de>
1118
1119         PR fortran/45586
1120         * trans-expr.c (conv_parent_component_references): Avoid unintendent
1121         skipping of parent compounds.
1122
1123 2011-02-11  Tobias Burnus  <burnus@net-b.de>
1124
1125         PR fortran/47550
1126         * resolve.c (resolve_formal_arglist): PURE with VALUE
1127         and no INTENT: Add -std= diagnostics.
1128
1129 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
1130
1131         PR fortran/47352
1132         * resolve.c (resolve_procedure_interface): If interface has a result
1133         variable, copy the typespec and set result pointer to self.
1134
1135 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
1136
1137         PR fortran/47463
1138         * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
1139
1140 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
1141
1142         PR fortran/47637
1143         * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
1144
1145 2011-02-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1146
1147         * io.c (match_io_element): Do not set dt if not inquire.
1148
1149 2011-02-08  Janus Weil  <janus@gcc.gnu.org>
1150
1151         PR fortran/45290
1152         * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
1153         initialization target.
1154
1155 2011-02-07  Janne Blomqvist  <jb@gcc.gnu.org>
1156             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1157
1158         * gfortran.texi (Thread-safety): texinfo styling fixes.
1159         * intrinsic.texi: Likewise.
1160
1161 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
1162
1163         * gfortran.texi (Compiler Characteristics): Add reference to
1164         thread-safety section.
1165
1166 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
1167
1168         * gfortran.texi (Thread-safety): New section.
1169         * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
1170         (GETENV): Likewise.
1171         (GET_ENVIRONMENT_VARIABLE): Likewise.
1172         (SYSTEM): Likewise.
1173
1174 2011-02-06  Paul Thomas  <pault@gcc.gnu.org>
1175
1176         PR fortran/47592
1177         * trans-stmt.c (gfc_trans_allocate): For deferred character
1178         length allocations with SOURCE, store to the values and string
1179         length to avoid calculating twice.  Replace gfc_start_block
1180         with gfc_init_block to avoid unnecessary contexts and to keep
1181         declarations of temporaries where they should be. Tidy up the
1182         code a bit.
1183
1184 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
1185
1186         PR fortran/42434
1187         * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
1188
1189 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
1190             Paul Thomas  <pault@gcc.gnu.org>
1191
1192         PR fortran/47082
1193         * trans-expr.c (gfc_trans_class_init_assign): Add call to
1194         gfc_get_derived_type.
1195         * module.c (read_cleanup): Do not use unique_symtrees for vtabs
1196         or vtypes.
1197
1198 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
1199
1200         PR fortran/47572
1201         * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
1202
1203 2011-02-01  Janus Weil  <janus@gcc.gnu.org>
1204
1205         PR fortran/47565
1206         * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
1207         pointer components with allocatable result.
1208
1209 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
1210
1211         PR fortran/47455
1212         * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
1213         with pointer or allocatable result.
1214
1215 2011-01-31  Paul Thomas  <pault@gcc.gnu.org>
1216
1217         PR fortran/47519
1218         * trans-stmt.c (gfc_trans_allocate): Improve handling of
1219         deferred character lengths with SOURCE.
1220         * iresolve.c (gfc_resolve_repeat): Calculate character
1221         length from source length and ncopies.
1222         * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
1223         expressions for ALLOCATE.
1224
1225 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
1226
1227         PR fortran/47463
1228         * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
1229         an argument of a typebound assignment being a component.
1230
1231 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1232
1233         * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
1234         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1235
1236 2011-01-31  Tobias Burnus  <burnus@net-b.de>
1237
1238         PR fortran/47042
1239         * resolve.c (resolve_fl_procedure): Reject stmt functions
1240         with pointer/allocatable attribute.
1241
1242 2011-01-31  Tobias Burnus  <burnus@net-b.de>
1243
1244         PR fortran/47042
1245         * interface.c (gfc_procedure_use): Add explicit interface check for
1246         pointer/allocatable functions.
1247
1248 2011-01-30  Paul Thomas  <pault@gcc.gnu.org>
1249
1250         PR fortran/47523
1251         * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
1252         expr and is assigned to a deferred character length scalar,
1253         make sure that the function is called before reallocation,
1254         so that the length is available. Include procedure pointer
1255         and procedure pointer component rhs as well.
1256
1257         PR fortran/45170
1258         PR fortran/35810
1259         PR fortran/47350
1260         * gfortran.dg/allocatable_function_5.f90: New test not added by
1261         mistake on 2011-01-28.
1262
1263 2011-01-29  Tobias Burnus  <burnus@net-b.de>
1264
1265         PR fortran/47531
1266         * check.c (gfc_check_shape): Support kind argument in SHAPE.
1267         * intrinsic.c (add_functions): Ditto.
1268         * resolve.c (gfc_resolve_shape): Ditto.
1269         * simplify.c (gfc_simplify_shape): Ditto.
1270         * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
1271         gfc_simplify_shape): Update prototypes.
1272         * intrinisc.text (SHAPE): Document kind argument.
1273
1274 2011-01-28  Tobias Burnus  <burnus@net-b.de>
1275
1276         PR fortran/47507
1277         * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
1278         attribute also without INTENT.
1279
1280 2011-01-28  Tobias Burnus  <burnus@net-b.de>
1281
1282         * gfortran.texi (Fortran 2003 status): Mention support for
1283         nonconstant namelist variables.
1284
1285 2011-01-28  Paul Thomas  <pault@gcc.gnu.org>
1286             Tobias Burnus  <burnus@gcc.gnu.org>
1287
1288         PR fortran/45170
1289         PR fortran/35810
1290         PR fortran/47350
1291         * interface.c (compare_actual_formal): An allocatable or pointer
1292         deferred length actual is only allowed if the formal argument
1293         is also deferred length. Clean up whitespace.
1294         * trans-expr.c (gfc_conv_procedure_call): Pass string length for
1295         deferred character length formal arguments by reference. Do the
1296         same for function results.
1297         (gfc_trans_pointer_assignment): Do not do runtime check of lhs
1298         and rhs character lengths, if deferred length lhs.  In this case
1299         set the lhs character length to that of the rhs.
1300         (gfc_conv_string_parameter): Remove assert that string length is
1301         an integer type.
1302         (is_scalar_reallocatable_lhs): New function.
1303         (alloc_scalar_allocatable_for_assignment): New function.
1304         (gfc_trans_assignment_1): Call above new function. If the rhs is
1305         a deferred character length itself, makes ure that the function
1306         is called before reallocation, so that the length is available.
1307         (gfc_trans_asssignment): Remove error about assignment to
1308         deferred length character variables.
1309         * gfortran.texi : Update entry about (re)allocation on
1310         assignment.
1311         * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
1312         length character variables.
1313         * module.c (mio_typespec): Transfer deferred characteristic.
1314         * trans-types.c (gfc_get_function_type): New code to generate
1315         hidden typelist, so that those character lengths that are
1316         passed by reference get the right type.
1317         * resolve.c (resolve_contained_fntype): Supress error for
1318         deferred character length functions.
1319         (resolve_function, resolve_fl_procedure) The same.
1320         (check_symbols): Remove the error that support for
1321         entity with deferred type parameter is not yet implemented.
1322         (resolve_fl_derived): The same.
1323         match.c (alloc_opt_list): Allow MOLD for deferred length object.
1324         * trans-decl.c (gfc_get_symbol_decl): For deferred character
1325         length dummies, generate a local variable for string length.
1326         (create_function_arglist): Hidden length can be a pointer.
1327         (gfc_trans_deferred_vars): For deferred character length
1328         results and dummies, assign the string length to the local
1329         variable from the hidden argument on entry and the other way
1330         round on exit, as appropriate.
1331
1332 2011-01-27  Tobias Burnus  <burnus@net-b.de>
1333
1334         PR fortran/47474
1335         * trans-decl.c (gfc_generate_function_code): Fix init
1336         of allocatable result variable with allocatable components.
1337
1338 2011-01-27  Tobias Burnus  <burnus@net-b.de>
1339
1340         PR fortran/47472
1341         * options.c (gfc_handle_module_path_options): Save
1342         module path without trailing slash as include path.
1343
1344 2011-01-25  Tobias Burnus  <burnus@net-b.de>
1345
1346         PR fortran/47448
1347         * interface.c (gfc_check_operator_interface): Fix
1348         defined-assignment check.
1349
1350 2011-01-23  Tobias Burnus  <burnus@net-b.de>
1351
1352         PR fortran/47421
1353         * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
1354         scalar allocatable dummy arguments.
1355
1356 2011-01-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
1357
1358         PR fortran/38536
1359         * resolve.c (gfc_iso_c_func_interface):  For C_LOC,
1360         check for array sections followed by component references
1361         which are illegal.  Also check for coindexed arguments.
1362
1363 2011-01-22  Tobias Burnus  <burnus@net-b.de>
1364
1365         PR fortran/47399
1366         * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
1367         PARAMETER TBP.
1368
1369 2011-01-21  Tobias Burnus  <burnus@net-b.de>
1370
1371         PR fortran/47394
1372         * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
1373         Use defined instead of magic number exit status codes.
1374         * scanner.c (include_line, gfc_new_file): Ditto.
1375
1376 2011-01-21  Tobias Burnus  <burnus@net-b.de>
1377
1378         PR fortran/47377
1379         * expr.c (gfc_check_pointer_assign): Reject expr data-targets
1380         without pointer attribute.
1381
1382 2011-01-18  Janus Weil  <janus@gcc.gnu.org>
1383
1384         PR fortran/47240
1385         * resolve.c (expression_rank): Fix rank of procedure poiner components.
1386         * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
1387         pointer components as actual arguments.
1388
1389 2011-01-17  Jakub Jelinek  <jakub@redhat.com>
1390
1391         PR fortran/47331
1392         * gfortran.h (struct gfc_omp_saved_state): New type.
1393         (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
1394         * resolve.c (resolve_global_procedure): Call it around gfc_resolve
1395         call.
1396         * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
1397         functions.
1398
1399 2011-01-17  Tobias Burnus  <burnus@net-b.de>
1400
1401         PR fortran/47327
1402         * invoke.texi (Options to request or suppress errors
1403         and warnings): Fix cross link.
1404
1405 2011-01-15  Tobias Burnus  <burnus@net-b.de>
1406
1407         * gfortran.texi: Update Fortran 2003 Status section.
1408
1409         PR fortran/47177
1410         * invoke.texi: Add missing "-E" to the -dM example.
1411
1412 2011-01-13  Tobias Burnus  <burnus@net-b.de>
1413
1414         PR fortran/47268
1415         * intrinsic.texi (get_command_argument, get_environment_variable):
1416         Mark arguments as optional in the Arguments section.
1417
1418 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
1419             Tobias Burnus  <burnus@net-b.de>
1420
1421         PR fortran/47260
1422         * trans-decl.c (gfc_get_extern_function_decl,
1423         build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
1424         calling decl_attributes.
1425
1426 2011-01-13  Tobias Burnus  <burnus@net-b.de>
1427             Mikael Morin  <mikael@gcc.gnu.org>
1428
1429         PR fortran/45848
1430         PR fortran/47204
1431         * gfortran.h (gfc_code): Move union ext's case_list into
1432         the struct block.
1433         * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
1434         by "block.".
1435         * frontend-passes.c (gfc_code_walker): Ditto.
1436         * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
1437         gfc_match_type_is, gfc_match_class_is): Ditto.
1438         * resolve.c (resolve_select, resolve_select_type): Ditto.
1439         * st.c (gfc_free_statement): Ditto.
1440         * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
1441         gfc_trans_character_select): Ditto.
1442         * parse.c (resolve_all_program_units): For error recovery, avoid
1443         segfault is proc_name is NULL.
1444
1445 2011-01-11  Paul Thomas  <pault@gcc.gnu.org>
1446
1447         PR fortran/47051
1448         * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
1449         to be standard compliant by testing for shape rather than size
1450         before skipping reallocation. Improve comments.
1451
1452 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
1453
1454         PR fortran/47224
1455         * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
1456         of code.
1457
1458 2011-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
1459
1460         PR fortran/38536
1461         * resolve.c (is_scalar_expr_ptr):  For a substring reference,
1462         use gfc_dep_compare_expr to compare start and end expession.
1463         Add FIXME for using gfc_deb_compare_expr elsewhere.
1464
1465 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
1466
1467         PR fortran/46313
1468         * class.c (get_unique_type_string): Make type name start with upper
1469         case letter.
1470
1471 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
1472
1473         PR fortran/46405
1474         * invoke.texi:  Mention -ffree-line-length-none and
1475         -ffixed-line-length-none for preprocessing.
1476
1477 2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
1478
1479         PR fortran/46896
1480         * trans-expr.c (gfc_conv_procedure_call): With a non-copying
1481         procedure argument (eg TRANSPOSE) use a temporary if there is
1482         any chance of aliasing due to host or use association.
1483         (arrayfunc_assign_needs_temporary): Correct logic for function
1484         results and do not use a temporary for implicitly PURE
1485         variables.  Use a temporary for Cray pointees.
1486         * symbol.c (gfc_add_save): Explicit SAVE not compatible with
1487         implicit pureness of containing procedure.
1488         * decl.c (match_old_style_init, gfc_match_data): Where decl
1489         would fail in PURE procedure, set implicit_pure to zero.
1490         * gfortran.h : Add implicit_pure to structure symbol_attr and
1491         add prototype for function gfc_implicit_pure.
1492         * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
1493         Where decl would fail in PURE procedure, reset implicit_pure.
1494         * io.c (match_vtag, gfc_match_open, gfc_match_close,
1495         gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
1496         * match.c (gfc_match_critical, gfc_match_stopcode,
1497         sync_statement, gfc_match_allocate, gfc_match_deallocate): The
1498         same.
1499         * parse.c (decode_omp_directive): The same.
1500         (parse_contained): If not PURE, set implicit pure attribute.
1501         * resolve.c (resolve_formal_arglist, resolve_structure_cons,
1502         resolve_function, resolve_ordinary_assign) : The same.
1503         (gfc_implicit_pure): New function.
1504         * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
1505         to ab_attribute enum and use it in this function.
1506
1507 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
1508
1509         PR fortran/45777
1510         * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
1511         make static and move in front of its only caller, to ...
1512         * trans-array.c (symbols_could_alias): ... here.
1513         Pass information about pointer and target status as
1514         arguments.  Allocatable arrays don't alias anything
1515         unless they have the POINTER attribute.
1516         (gfc_could_be_alias):  Keep track of pointer and target
1517         status when following references.  Also check if typespecs
1518         of components match those of other components or symbols.
1519
1520 2011-01-07  Tobias Burnus  <burnus@net-b.de>
1521
1522         PR fortran/41580
1523         * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
1524         * intrinsic.c (add_functions): Use simplify functions for
1525         EXTENDS_TYPE_OF and SAME_TYPE_AS.
1526         * intrinsic.h (gfc_simplify_extends_type_of,
1527         gfc_simplify_same_type_as): New prototypes.
1528         * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
1529         gfc_simplify_same_type_as): New functions.
1530
1531 2011-01-07  Janus Weil  <janus@gcc.gnu.org>
1532
1533         PR fortran/47189
1534         PR fortran/47194
1535         * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
1536         * class.c (gfc_class_null_initializer): Initialize _vptr to declared
1537         type.
1538         * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
1539         * resolve.c (resolve_deallocate_expr): _data component will be added
1540         at translation stage.
1541         * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
1542         * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
1543
1544 2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
1545
1546         PR fortran/33117
1547         PR fortran/46478
1548         * parse.c (parse_interface): Remove check for procedure types.
1549         * interface.c (check_interface0): Verify that procedures are
1550         either all SUBROUTINEs or all FUNCTIONs.
1551
1552 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
1553
1554         PR fortran/47180
1555         * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
1556         'vtab' is initialized).
1557
1558 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
1559
1560         PR fortran/47180
1561         * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
1562         assignment, set the _vptr component to the declared type.
1563
1564 2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1565
1566         PR fortran/46017
1567         * resolve.c (resolve_allocate_deallocate): Follow references to
1568         check for duplicate occurence of allocation/deallocation objects.
1569
1570 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
1571
1572         PR fortran/47024
1573         * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
1574         of polymorphic allocatables according to their declared type.
1575
1576 2011-01-04  Janus Weil  <janus@gcc.gnu.org>
1577
1578         PR fortran/46448
1579         * class.c (gfc_find_derived_vtab): Set the module field for the copying
1580         routine to make sure it receives module name mangling.
1581
1582 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
1583
1584         * gfortranspec.c (lang_specific_driver): Update copyright notice
1585         dates.
1586
1587 2011-01-03  Janus Weil  <janus@gcc.gnu.org>
1588
1589         * intrinsic.texi (LEADZ): Fix example.
1590
1591 2011-01-02  Janus Weil  <janus@gcc.gnu.org>
1592
1593         PR fortran/46408
1594         * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
1595         routine.
1596
1597 \f
1598 Copyright (C) 2011 Free Software Foundation, Inc.
1599
1600 Copying and distribution of this file, with or without modification,
1601 are permitted in any medium without royalty provided the copyright
1602 notice and this notice are preserved.