2011-04-23 Tobias Burnus <burnus@net-b.de>
[official-gcc.git] / gcc / fortran / ChangeLog
blobec28bf4222da2e0e6b3fa0b2cf9434608b62f0d7
1 2011-04-23  Tobias Burnus  <burnus@net-b.de>
3         PR fortran/18918
4         * module.c (mio_array_spec): Set as->cotype on reading.
5         * resolve.c (resolve_allocate_expr): Fix allocating coarray
6         components.
8 2011-04-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
10         PR fortran/48405
11         * frontend_passes (cfe_register_funcs): Remove workaround for DO
12         loops.
13         (gfc_code_walker):  Make sure the pointer to the current
14         statement doen't change when other statements are inserted.
16 2011-04-21  Tobias Burnus  <burnus@net-b.de>
18         PR fortran/18918
19         * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
21 2011-04-20  Jim Meyering  <meyering@redhat.com>
23         * expr.c (free_expr0): Remove useless if-before-free.
24         * gfortranspec.c (lang_specific_pre_link): Likewise.
25         * interface.c (gfc_extend_expr): Likewise.
26         * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
28 2011-04-19  Tobias Burnus  <burnus@net-b.de>
30         PR fortran/48588
31         PR fortran/48692
33         * module.c (fix_mio_expr): Commit created symbol.
35 2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
37         * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
39 2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
41         * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
42         free.
44 2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
46         * misc.c (gfc_getmem): Remove function.
47         * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
48         usage with XCNEW or XCNEWVEC.
49         * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
50         XCNEW or XCNEWVEC.
51         * options.c (gfc_handle_module_path_options)
52         (gfc_get_option_string): Likewise.
53         * resolve.c (gfc_resolve_forall): Likewise.
54         * simplify.c (simplify_transformation_to_array): Likewise.
55         * target-memory.c (gfc_target_interpret_expr): Likewise.
56         * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
57         (get_init_field): Likewise.
58         * trans-expr.c (gfc_conv_statement_function): Likewise.
59         * trans-io.c (nml_full_name): Likewise.
60         * trans-stmt.c (gfc_trans_forall_1): Likewise.
61         * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
63 2011-04-19  Tobias Burnus  <burnus@net-b.de>
65         PR fortran/48588
66         * parse.c (resolve_all_program_units): Skip modules.
67         (translate_all_program_units): Handle modules.
68         (gfc_parse_file): Defer code generation for modules.
70 2011-04-19  Martin Jambor  <mjambor@suse.cz>
72         * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
73         instead of cgraph_get_create_node.
75 2011-04-18  Jim Meyering  <meyering@redhat.com>
77         remove now-unused definition of gfc_free
78         * misc.c (gfc_free): Remove function.
79         * gfortran.h (gfc_free): Remove its prototype.
81 2011-04-18  Jim Meyering  <meyering@redhat.com>
83         convert each use of gfc_free (p) to free (p)
84         Do that by running this command:
85           perl -pi -e    's/\bgfc_free ?\(/free (/' \
86             $(git grep -El '\bgfc_free ?\(')
87         which also corrects the few uses that lacked a space between
88         the function name and the open parenthesis.
89         Manually undo the change to the function definition itself
90         and its prototype.  They'll be removed next.
91         * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
92         * constructor.c (node_free): Likewise.
93         * cpp.c (dump_queued_macros): Likewise.
94         * data.c (gfc_assign_data_value): Likewise.
95         * decl.c (free_variable, free_value, gfc_free_data): Likewise.
96         (gfc_free_data_all, match_old_style_init): Likewise.
97         (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
98         Likewise.
99         (gfc_match_modproc): Likewise.
100         * dependency.c (check_section_vs_section): Likewise.
101         * error.c (gfc_pop_error, gfc_free_error): Likewise.
102         * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
103         (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
104         (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
105         Likewise.
106         * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
107         (strip_function_call, optimize_comparison): Likewise.
108         * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
109         (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
110         Likewise.
111         * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
112         (gfc_convert_chartype): Likewise.
113         * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
114         Likewise.
115         (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
116         * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
117         (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
118         Likewise.
119         (free_case, gfc_free_forall_iterator): Likewise.
120         * misc.c: Likewise.
121         * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
122         (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
123         (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
124         (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
125         (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
126         (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
127         * openmp.c (gfc_free_omp_clauses): Likewise.
128         * options.c (gfc_post_options): Likewise.
129         * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
130         * primary.c (gfc_free_structure_ctor_component): Likewise.
131         * resolve.c (resolve_structure_cons, check_host_association): Likewise.
132         (gfc_resolve_forall, resolve_equivalence): Likewise.
133         * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
134         (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
135         (load_file, gfc_read_orig_filename): Likewise.
136         * simplify.c (simplify_transformation_to_array): Likewise.
137         (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
138         Likewise.
139         (gfc_simplify_compiler_options): Likewise.
140         * st.c (gfc_free_statement, gfc_free_statements): Likewise.
141         (gfc_free_association_list): Likewise.
142         * symbol.c (free_components, gfc_free_st_label, free_st_labels):
143         Likewise.
144         (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
145         (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
146         (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
147         (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
148         Likewise.
149         (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
150         (gfc_free_namespace): Likewise.
151         * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
152         (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
153         (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
154         * trans-common.c (get_init_field, create_common): Likewise.
155         * trans-const.c (gfc_build_wide_string_const): Likewise.
156         (gfc_conv_string_init): Likewise.
157         * trans-decl.c (gfc_generate_function_code): Likewise.
158         * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
159         Likewise.
160         (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
161         (gfc_trans_subarray_assign): Likewise.
162         * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
163         * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
164         (transfer_namelist_element, transfer_array_component): Likewise.
165         * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
166         * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
167         * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
168         Likewise.
170 2011-04-15  Jim Meyering  <meyering@redhat.com>
172         gfortran: remove cpp definition of free, ...
173         in preparation for the s/gfc_free/free/ transformation.
174         * gfortran.h (free): Remove macro definition that would otherwise
175         prevent direct use of the function.
177 2011-04-18  Tobias Burnus  <burnus@net-b.de>
179         PR fortran/18918
180         * array.c (gfc_match_array_ref): Check for too many codimensions.
181         * check.c (gfc_check_image_index): Check number of elements
182         in SUB argument.
183         * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
185 2011-04-18  Tobias Burnus  <burnus@net-b.de>
187         PR fortran/18918
188         * iresolve.c (gfc_resolve_image_index): Set ts.type.
189         * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
190         are not known at compile time and handle -fcoarray=lib.
191         * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
192         IMAGE_INDEX.
193         (conv_intrinsic_cobound): Fix comment typo.
194         (trans_this_image): New function.
195         * trans-array.c (gfc_unlikely): Move to trans.c.
196         * trans.c (gfc_unlikely): Function moved from trans-array.c.
197         (gfc_trans_runtime_check): Use it.
198         * trans-io.c (gfc_trans_io_runtime_check): Ditto.
199         * trans.h (gfc_unlikely): Add prototype.
201 2011-04-18  Paul Thomas  <pault@gcc.gnu.org>
203         PR fortran/48462
204         * trans-expr.c (fcncall_realloc_result): Renamed version of
205         realloc_lhs_bounds_for_intrinsic_call that does not touch the
206         descriptor bounds anymore but makes a temporary descriptor to
207         hold the result.
208         (gfc_trans_arrayfunc_assign): Modify the reference to above
209         renamed function.
211 2011-05-17  Tobias Burnus  <burnus@net-b.de>
213         PR fortran/48624
214         * trans-decl.c (gfc_get_extern_function_decl): Fix decl
215         for external procedures with proc arguments.
217 2011-04-15  Michael Matz  <matz@suse.de>
219         * trans-array.c (toplevel): Include gimple.h.
220         (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
221         properly expand variable length arrays.
222         (gfc_trans_auto_array_allocation): If flag_stack_arrays create
223         variable length decls and associate them with their scope.
224         * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
225         * options.c (gfc_init_options): Handle -fstack_arrays option.
226         * lang.opt (fstack-arrays): Add option.
227         * invoke.texi (Code Gen Options): Document it.
228         * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
230 2011-04-15  Tobias Burnus  <burnus@net-b.de>
232         PR fortran/18918
233         * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
234         code which is also causing an ICE.
236 2011-04-14  Nathan Froyd  <froydnj@codesourcery.com>
238         * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
240 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
242         * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
243         calling TREE_CHAIN.
245 2011-04-12  Paul Thomas  <pault@gcc.gnu.org>
247         PR fortran/48360
248         PR fortran/48456
249         * trans-array.c (get_std_lbound): For derived type variables
250         return array valued component lbound.
252 2011-04-12  Martin Jambor  <mjambor@suse.cz>
254         * trans-decl.c (gfc_generate_function_code): Call
255         cgraph_get_create_node instead of cgraph_node.
257 2011-04-11  Tobias Burnus  <burnus@net-b.de>
259         PR fortran/18918
260         * simplify.c (simplify_bound_dim): Exit for
261         ucobound's last dimension unless -fcoarray=single.
262         * trans-array (gfc_conv_descriptor_size_1): Renamed from
263         gfc_conv_descriptor_size, made static, has now from_dim and
264         to_dim arguments.
265         (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
266         (gfc_conv_descriptor_cosize): New function.
267         * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
268         * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
269         and handle last codim of ucobound for when -fcoarray is not "single".
271 2011-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
273         PR fortran/48448
274         * gfortran.h (gfc_option_t):  Add warn_function_elimination and
275         flag_frontend_optimize.
276         * lang.opt (Wfunction-elimination):  Add.
277         (ffrontend-optimize):  Add.
278         * invoke.texi:  Add documentation for -Wfunction-elimination
279         and -ffrontend-optimize.  Add -faggressive-function-elimination
280         to list of code generation options.
281         * frontend-passes.c (gfc_run_passes):  Run optimizations if
282         flag_frontend_optimize is set.
283         (warn_function_elimination):  New function.
284         (cfe_expr_0):  Call it if requested to do so.
285         * options.c (gfc_init_options):  Initiate warn_function_elimination
286         and flag_frontend_optimize.
287         (gfc_post_options):  Set flag_frontend_optimize if not specified
288         by user, depending on the optimization level.
289         (gfc_handle_option):  Handle -Wfunction-elimination and
290         -ffrontend-optimize.
292 2011-04-06  Tobias Burnus  <burnus@net-b.de>
294         PR fortran/18918
295         * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
296         call for this_image.
298 2011-04-05  Nathan Froyd  <froydnj@codesourcery.com>
300         * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
301         build_function_type_list instead of build_function_type.  Correct
302         argument order for func_frexp and func_scalbn.
304 2011-04-05  Duncan Sands  <baldrick@free.fr>
306         * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
308 2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
310         * frontend-passes: (optimize_lexical_comparison): New function.
311         (optimize_expr): Call it.
312         (optimize_comparison): Also handle lexical comparison functions.
313         Return false instad of -2 for unequal comparison.
315 2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
317         PR fortran/48412
318         * frontend-passes (cfe_expr_0):  Reverse the order of going
319         through the loops.
321 2011-04-04  Tobias Burnus  <burnus@net-b.de>
322             Mikael Morin  <mikael.morin@sfr.fr>
324         PR fortran/18918
325         * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
326         * expr.c (gfc_is_coindexed): Ditto.
327         * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
328         * interface.c (compare_parameter): Use gfc_expr_attr and
329         gfc_is_coindexed.
330         * resolve.c (check_dimension, compare_spec_to_ref,
331         resolve_allocate_expr, check_data_variable): Update for
332         DIMEN_THIS_IMAGE.
333         * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
334         gfc_simplify_ucobound): Allow non-constant bounds.
335         * trans-array.c (gfc_set_loop_bounds_from_array_spec,
336         gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
337         gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
338         gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
339         gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
340         gfc_conv_ss_startstride, gfc_conv_loop_setup,
341         gfc_trans_array_bounds, gfc_conv_expr_descriptor,
342         gfc_walk_variable_expr): Handle codimen.
343         * trans-decl.c (gfc_build_qualified_array): Save cobounds.
344         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
345         (conv_intrinsic_cobound): New function.
346         (gfc_conv_intrinsic_function): Call it.
347         (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
348         ucobound, lcobound, this_image.
349         * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
350         (gfc_get_dtype): Honour corank.
351         (gfc_get_nodesc_array_type): Save corank and codimensions.
352         (gfc_get_array_type_bounds): Save cobound.
353         * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
354         (gfc_array_kind): Add corank item.
355         (GFC_TYPE_ARRAY_CORANK): New macro.
357 2011-04-03  Kai Tietz  <ktietz@redhat.com>
359         PR middle-end/48422
360         * Make-lang.in (f95-lang.o): Add some missing dependencies.
362 2011-04-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
364         PR fortran/48352
365         * frontend-passes (cfe_register_funcs):  Don't
366         register functions if they appear as iterators in DO loops.
368 2011-03-30  Michael Matz  <matz@suse.de>
370         PR fortran/47516
371         * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
372         don't use local variable.
373         (gfc_trans_arrayfunc_assign): Adjust caller.
375 2011-03-29  Janus Weil  <janus@gcc.gnu.org>
377         PR fortran/48095
378         * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
379         * module.c (MOD_VERSION): Bump.
380         (mio_typespec): Read/write 'interface' field.
381         * primary.c (match_string_constant,match_logical_constant): Remove
382         unneeded code.
383         (match_complex_constant): Make sure to clear the typespec.
385 2011-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
387         * frontend-passes.c (create_var):  Warn about creating an
388         array temporary if requested.
390 2011-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
392         PR fortran/47065
393         * frontend-passes.c (optimize_trim): Also follow references, except
394         when they are substring references or array references.
396 2011-03-27  Tobias Burnus  <burnus@net-b.de>
398         PR fortran/18918
399         * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
400         GFC_ISYM_NUM_IMAGES.
401         (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
402         * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
403         rename.
404         * invoke.texi (-fcoarray=): Document "lib" argument.
405         * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
406         * libgfortran.h (libgfortran_stat_codes): Add comments.
407         * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
408         * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
409         Handle GFC_FCOARRAY_LIB.
410         * trans.h (gfc_init_coarray_decl): New prototype.
411         (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
412         gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
413         gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
414         gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
415         gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
416         New global variables.
417         * trans-decl.c: Declare several CAF functions (cf. above).
418         (gfc_build_builtin_function_decls): Initialize those.
419         (gfc_init_coarray_decl): New function.
420         (create_main_function): Call CAF init/finalize functions.
421         * trans-intrinsic.c (trans_this_image, trans_num_images): New.
422         (gfc_conv_intrinsic_function): Call those.
423         * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
424         Add code for GFC_FCOARRAY_LIB.
426 2011-03-26  Janus Weil  <janus@gcc.gnu.org>
428         PR fortran/48291
429         * class.c (get_unique_hashed_string): Adjust maximum allowable length
430         for unique type string.
432 2011-03-25  Kai Tietz  <ktietz@redhat.com>
434         * scanner.c (preprocessor_line): Use filename_cmp
435         instead of strcmp.
437 2011-03-25  Tobias Burnus  <burnus@net-b.de>
439         PR fortran/48174
440         PR fortran/45304
441         * trans-types.c (gfc_get_function_type): Don't use varargs if the
442         procedure is known to have no arguments.
444 2010-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
446         PR fortran/22572
447         * gfortran.h (gfc_option_t) : Add
448         flag_aggressive_function_elimination.
449         (gfc_dep_compare_functions):  Add prototype.
450         * lang.opt: Add faggressive-function-elimination.
451         * invoke.texi: Document -faggressive-function-elimination.
452         * frontend_passes (expr_array):  New static variable.
453         (expr_size):  Likewise.
454         (expr_count):  Likewise.
455         (current_code):  Likewise.
456         (current_ns):  Likewise.
457         (gfc_run_passes):  Allocate and free space for expressions.
458         (cfe_register_funcs):  New function.
459         (create_var):  New function.
460         (cfc_expr_0):  New function.
461         (cfe_code):  New function.
462         (optimize_namespace):  Invoke gfc_code_walker with cfe_code
463         and cfe_expr_0.
464         * dependency.c (gfc_dep_compare_functions):  New function.
465         (gfc_dep_compare_expr):  Use it.
466         * options.c (gfc_init_options):  Handle
467         flag_aggressive_function_elimination.
468         (gfc_handle_option):  Likewise.
470 2011-03-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
472         * arith.c (arith_power): Plug memory leak.
474 2011-03-12  Janus Weil  <janus@gcc.gnu.org>
476         PR fortran/48059
477         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
478         for polymorphic arguments.
480 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
482         PR fortran/48054
483         * intrinsic.texi: Clarify doc of logarithm functions.
485 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
487         PR fortran/47552
488         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
489         the string length variable.
491 2011-03-11  Janus Weil  <janus@gcc.gnu.org>
493         PR fortran/47768
494         * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
495         (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
497 2011-03-06  Paul Thomas  <pault@gcc.gnu.org>
498             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
500         PR fortran/47850
501         * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
502         the expression has an iterator.  Otherwise, iterate through the
503         array, checking for constant expressions for each element.
505 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
507         PR libfortran/47802
508         * intrinsic.texi: Update CTIME and FDATE documentation.
510 2011-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
512         * invoke.texi (Option Summary, Fortran Dialect Options)
513         (Preprocessing Options, Runtime Options, Code Gen Options):
514         Fix vertical list spacing by using @itemx for additinoal
515         items, empty line before @table.  Fix typos.
517 2011-02-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
519         PR fortran/47894
520         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
522 2011-02-26  Tobias Burnus  <burnus@net-b.de>
524         PR fortran/47846
525         * trans-stmt.c (gfc_trans_allocate): Fix allocation with
526         type-spec of deferred-length strings.
528 2011-02-26  Tobias Burnus  <burnus@net-b.de>
530         PR fortran/47886
531         * openmp.c (gfc_resolve_omp_directive): Resolve if()
532         condition of OpenMP's task.
534 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
536         PR fortran/47894
537         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
539 2011-02-24  Tobias Burnus  <burnus@net-b.de>
541         PR fortran/47872
542         * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
543         multitable for linebreak between different syntax variants.
545 2011-02-24  Richard Guenther  <rguenther@suse.de>
547         PR fortran/47839
548         * f95-lang.c (pushdecl): For externs in non-global scope push
549         a copy of the decl into the BLOCK.
551 2011-02-23  Mikael Morin  <mikael@gcc.gnu.org>
553         PR fortran/40850
554         * trans.c (gfc_prepend_expr_to_block): New function.
555         * trans.h (gfc_prepend_expr_to_block): Declare.
556         * trans-array.c (gfc_conv_array_parameter): Replace
557         gfc_add_expr_to_block with gfc_prepend_expr_to_block.
559 2011-02-22  Paul Thomas  <pault@gcc.gnu.org>
561         PR fortran/45743
562         * trans-decl.c (gfc_get_extern_function_decl): Don't use the
563         gsymbol backend_decl if the procedure has a formal argument
564         that is a procedure.
566 2011-02-22  Tobias Burnus  <burnus@net-b.de>
568         PR fortran/41359
569         * trans-stmt.c (gfc_trans_if_1): Use correct line for
570         expressions in the if condition.
572 2011-02-20  Tobias Burnus  <burnus@net-b.de>
574         PR fortran/47797
575         * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
576         gfc_restore_backend_locus to have better debug locations.
577         * trans-array.c (gfc_trans_deferred_array): Ditto.
579 2011-02-20  Paul Thomas  <pault@gcc.gnu.org>
581         PR fortran/45077
582         PR fortran/44945
583         * trans-types.c (gfc_get_derived_type): Remove code that looks
584         for decls in gsym and add call to gfc_get_module_backend_decl.
585         * trans.h : Add prototype for gfc_get_module_backend_decl.
586         * trans-decl.c (gfc_get_module_backend_decl): New function.
587         (gfc_get_symbol_decl): Call it.
589 2011-02-19  Paul Thomas  <pault@gcc.gnu.org>
591         PR fortran/47348
592         * trans-array.c (get_array_ctor_all_strlen): Move up in file.
593         (get_array_ctor_var_strlen): Add block dummy and add call to
594         get_array_ctor_all_strlen instead of giving up on substrings.
595         Call gcc_unreachable for default case.
596         (get_array_ctor_strlen): Add extra argument to in call to
597         get_array_ctor_var_strlen.
599 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
601         PR fortran/47789
602         * primary.c (gfc_match_structure_constructor): Handle empty parent
603         types.
605 2011-02-18  Tobias Burnus
607         PR fortran/47775
608         * trans-expr.c (arrayfunc_assign_needs_temporary): Use
609         esym to check whether the specific procedure returns an
610         allocatable or pointer.
612 2011-02-18  Michael Matz  <matz@suse.de>
614         PR fortran/45586
615         * gfortran.h (struct gfc_component): Add norestrict_decl member.
616         * trans.h (struct lang_type): Add nonrestricted_type member.
617         * trans-expr.c (gfc_conv_component_ref): Search fields with correct
618         parent type.
619         * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
620         (gfc_sym_type): Use it.
622 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
624         PR fortran/47768
625         * resolve.c (resolve_transfer): Reject variables with procedure pointer
626         components.
628 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
630         PR fortran/47767
631         * gfortran.h (gfc_check_access): Removed prototype.
632         (gfc_check_symbol_access): Added prototype.
633         * module.c (gfc_check_access): Renamed to 'check_access', made static.
634         (gfc_check_symbol_access): New function, basically a shortcut for
635         'check_access'.
636         (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
637         'gfc_check_symbol_access'.
638         (write_operator,write_module): Renamed 'gfc_check_access'.
639         * resolve.c (resolve_fl_procedure,resolve_fl_derived,
640         resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
641         'gfc_check_symbol_access'.
643 2011-02-16  Janus Weil  <janus@gcc.gnu.org>
645         PR fortran/47745
646         * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
647         * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
648         'gfc_build_class_symbol'.
649         (gfc_match_decl_type_spec): Reject unlimited polymorphism.
650         * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
651         * match.c (select_type_set_tmp): Move setting of 'class_ok' into
652         'gfc_build_class_symbol'.
653         * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
655 2011-02-15  Steven G. Kargl  <kargl@gcc.gnu.org>
657         PR fortran/47633
658         . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
660 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
662         PR fortran/47730
663         * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
665 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
667         PR fortran/47728
668         * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
669         arrays.
670         * primary.c (gfc_match_varspec): Avoid ICE for invalid class
671         declaration.
673 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
675         PR fortran/47349
676         * interface.c (get_expr_storage_size): Handle derived-type components.
678 2011-02-13  Tobias Burnus  <burnus@net-b.de>
680         PR fortran/47569
681         * interface.c (compare_parameter): Avoid ICE with
682         character components.
684 2011-02-12  Janus Weil  <janus@gcc.gnu.org>
686         * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
687         * decl.c (build_sym,build_struct,attr_decl1): Use return value of
688         'gfc_build_class_symbol'.
690 2011-02-12  Michael Matz  <matz@suse.de>
691             Janus Weil  <janus@gcc.gnu.org>
692             Tobias Burnus  <burnus@net-b.de>
694         PR fortran/45586
695         * trans-expr.c (conv_parent_component_references): Avoid unintendent
696         skipping of parent compounds.
698 2011-02-11  Tobias Burnus  <burnus@net-b.de>
700         PR fortran/47550
701         * resolve.c (resolve_formal_arglist): PURE with VALUE
702         and no INTENT: Add -std= diagnostics.
704 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
706         PR fortran/47352
707         * resolve.c (resolve_procedure_interface): If interface has a result
708         variable, copy the typespec and set result pointer to self.
710 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
712         PR fortran/47463
713         * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
715 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
717         PR fortran/47637
718         * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
720 2011-02-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
722         * io.c (match_io_element): Do not set dt if not inquire.
724 2011-02-08  Janus Weil  <janus@gcc.gnu.org>
726         PR fortran/45290
727         * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
728         initialization target.
730 2011-02-07  Janne Blomqvist  <jb@gcc.gnu.org>
731             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
733         * gfortran.texi (Thread-safety): texinfo styling fixes.
734         * intrinsic.texi: Likewise.
736 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
738         * gfortran.texi (Compiler Characteristics): Add reference to
739         thread-safety section.
741 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
743         * gfortran.texi (Thread-safety): New section.
744         * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
745         (GETENV): Likewise.
746         (GET_ENVIRONMENT_VARIABLE): Likewise.
747         (SYSTEM): Likewise.
749 2011-02-06  Paul Thomas  <pault@gcc.gnu.org>
751         PR fortran/47592
752         * trans-stmt.c (gfc_trans_allocate): For deferred character
753         length allocations with SOURCE, store to the values and string
754         length to avoid calculating twice.  Replace gfc_start_block
755         with gfc_init_block to avoid unnecessary contexts and to keep
756         declarations of temporaries where they should be. Tidy up the
757         code a bit.
759 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
761         PR fortran/42434
762         * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
764 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
765             Paul Thomas  <pault@gcc.gnu.org>
767         PR fortran/47082
768         * trans-expr.c (gfc_trans_class_init_assign): Add call to
769         gfc_get_derived_type.
770         * module.c (read_cleanup): Do not use unique_symtrees for vtabs
771         or vtypes.
773 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
775         PR fortran/47572
776         * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
778 2011-02-01  Janus Weil  <janus@gcc.gnu.org>
780         PR fortran/47565
781         * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
782         pointer components with allocatable result.
784 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
786         PR fortran/47455
787         * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
788         with pointer or allocatable result.
790 2011-01-31  Paul Thomas  <pault@gcc.gnu.org>
792         PR fortran/47519
793         * trans-stmt.c (gfc_trans_allocate): Improve handling of
794         deferred character lengths with SOURCE.
795         * iresolve.c (gfc_resolve_repeat): Calculate character
796         length from source length and ncopies.
797         * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
798         expressions for ALLOCATE.
800 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
802         PR fortran/47463
803         * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
804         an argument of a typebound assignment being a component.
806 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
808         * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
809         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
811 2011-01-31  Tobias Burnus  <burnus@net-b.de>
813         PR fortran/47042
814         * resolve.c (resolve_fl_procedure): Reject stmt functions
815         with pointer/allocatable attribute.
817 2011-01-31  Tobias Burnus  <burnus@net-b.de>
819         PR fortran/47042
820         * interface.c (gfc_procedure_use): Add explicit interface check for
821         pointer/allocatable functions.
823 2011-01-30  Paul Thomas  <pault@gcc.gnu.org>
825         PR fortran/47523
826         * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
827         expr and is assigned to a deferred character length scalar,
828         make sure that the function is called before reallocation,
829         so that the length is available. Include procedure pointer
830         and procedure pointer component rhs as well.
832         PR fortran/45170
833         PR fortran/35810
834         PR fortran/47350
835         * gfortran.dg/allocatable_function_5.f90: New test not added by
836         mistake on 2011-01-28.
838 2011-01-29  Tobias Burnus  <burnus@net-b.de>
840         PR fortran/47531
841         * check.c (gfc_check_shape): Support kind argument in SHAPE.
842         * intrinsic.c (add_functions): Ditto.
843         * resolve.c (gfc_resolve_shape): Ditto.
844         * simplify.c (gfc_simplify_shape): Ditto.
845         * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
846         gfc_simplify_shape): Update prototypes.
847         * intrinisc.text (SHAPE): Document kind argument.
849 2011-01-28  Tobias Burnus  <burnus@net-b.de>
851         PR fortran/47507
852         * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
853         attribute also without INTENT.
855 2011-01-28  Tobias Burnus  <burnus@net-b.de>
857         * gfortran.texi (Fortran 2003 status): Mention support for
858         nonconstant namelist variables.
860 2011-01-28  Paul Thomas  <pault@gcc.gnu.org>
861             Tobias Burnus  <burnus@gcc.gnu.org>
863         PR fortran/45170
864         PR fortran/35810
865         PR fortran/47350
866         * interface.c (compare_actual_formal): An allocatable or pointer
867         deferred length actual is only allowed if the formal argument
868         is also deferred length. Clean up whitespace.
869         * trans-expr.c (gfc_conv_procedure_call): Pass string length for
870         deferred character length formal arguments by reference. Do the
871         same for function results.
872         (gfc_trans_pointer_assignment): Do not do runtime check of lhs
873         and rhs character lengths, if deferred length lhs.  In this case
874         set the lhs character length to that of the rhs.
875         (gfc_conv_string_parameter): Remove assert that string length is
876         an integer type.
877         (is_scalar_reallocatable_lhs): New function.
878         (alloc_scalar_allocatable_for_assignment): New function.
879         (gfc_trans_assignment_1): Call above new function. If the rhs is
880         a deferred character length itself, makes ure that the function
881         is called before reallocation, so that the length is available.
882         (gfc_trans_asssignment): Remove error about assignment to
883         deferred length character variables.
884         * gfortran.texi : Update entry about (re)allocation on
885         assignment.
886         * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
887         length character variables.
888         * module.c (mio_typespec): Transfer deferred characteristic.
889         * trans-types.c (gfc_get_function_type): New code to generate
890         hidden typelist, so that those character lengths that are
891         passed by reference get the right type.
892         * resolve.c (resolve_contained_fntype): Supress error for
893         deferred character length functions.
894         (resolve_function, resolve_fl_procedure) The same.
895         (check_symbols): Remove the error that support for
896         entity with deferred type parameter is not yet implemented.
897         (resolve_fl_derived): The same.
898         match.c (alloc_opt_list): Allow MOLD for deferred length object.
899         * trans-decl.c (gfc_get_symbol_decl): For deferred character
900         length dummies, generate a local variable for string length.
901         (create_function_arglist): Hidden length can be a pointer.
902         (gfc_trans_deferred_vars): For deferred character length
903         results and dummies, assign the string length to the local
904         variable from the hidden argument on entry and the other way
905         round on exit, as appropriate.
907 2011-01-27  Tobias Burnus  <burnus@net-b.de>
909         PR fortran/47474
910         * trans-decl.c (gfc_generate_function_code): Fix init
911         of allocatable result variable with allocatable components.
913 2011-01-27  Tobias Burnus  <burnus@net-b.de>
915         PR fortran/47472
916         * options.c (gfc_handle_module_path_options): Save
917         module path without trailing slash as include path.
919 2011-01-25  Tobias Burnus  <burnus@net-b.de>
921         PR fortran/47448
922         * interface.c (gfc_check_operator_interface): Fix
923         defined-assignment check.
925 2011-01-23  Tobias Burnus  <burnus@net-b.de>
927         PR fortran/47421
928         * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
929         scalar allocatable dummy arguments.
931 2011-01-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
933         PR fortran/38536
934         * resolve.c (gfc_iso_c_func_interface):  For C_LOC,
935         check for array sections followed by component references
936         which are illegal.  Also check for coindexed arguments.
938 2011-01-22  Tobias Burnus  <burnus@net-b.de>
940         PR fortran/47399
941         * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
942         PARAMETER TBP.
944 2011-01-21  Tobias Burnus  <burnus@net-b.de>
946         PR fortran/47394
947         * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
948         Use defined instead of magic number exit status codes.
949         * scanner.c (include_line, gfc_new_file): Ditto.
951 2011-01-21  Tobias Burnus  <burnus@net-b.de>
953         PR fortran/47377
954         * expr.c (gfc_check_pointer_assign): Reject expr data-targets
955         without pointer attribute.
957 2011-01-18  Janus Weil  <janus@gcc.gnu.org>
959         PR fortran/47240
960         * resolve.c (expression_rank): Fix rank of procedure poiner components.
961         * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
962         pointer components as actual arguments.
964 2011-01-17  Jakub Jelinek  <jakub@redhat.com>
966         PR fortran/47331
967         * gfortran.h (struct gfc_omp_saved_state): New type.
968         (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
969         * resolve.c (resolve_global_procedure): Call it around gfc_resolve
970         call.
971         * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
972         functions.
974 2011-01-17  Tobias Burnus  <burnus@net-b.de>
976         PR fortran/47327
977         * invoke.texi (Options to request or suppress errors
978         and warnings): Fix cross link.
980 2011-01-15  Tobias Burnus  <burnus@net-b.de>
982         * gfortran.texi: Update Fortran 2003 Status section.
984         PR fortran/47177
985         * invoke.texi: Add missing "-E" to the -dM example.
987 2011-01-13  Tobias Burnus  <burnus@net-b.de>
989         PR fortran/47268
990         * intrinsic.texi (get_command_argument, get_environment_variable):
991         Mark arguments as optional in the Arguments section.
993 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
994             Tobias Burnus  <burnus@net-b.de>
996         PR fortran/47260
997         * trans-decl.c (gfc_get_extern_function_decl,
998         build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
999         calling decl_attributes.
1001 2011-01-13  Tobias Burnus  <burnus@net-b.de>
1002             Mikael Morin  <mikael@gcc.gnu.org>
1004         PR fortran/45848
1005         PR fortran/47204
1006         * gfortran.h (gfc_code): Move union ext's case_list into
1007         the struct block.
1008         * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
1009         by "block.".
1010         * frontend-passes.c (gfc_code_walker): Ditto.
1011         * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
1012         gfc_match_type_is, gfc_match_class_is): Ditto.
1013         * resolve.c (resolve_select, resolve_select_type): Ditto.
1014         * st.c (gfc_free_statement): Ditto.
1015         * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
1016         gfc_trans_character_select): Ditto.
1017         * parse.c (resolve_all_program_units): For error recovery, avoid
1018         segfault is proc_name is NULL.
1020 2011-01-11  Paul Thomas  <pault@gcc.gnu.org>
1022         PR fortran/47051
1023         * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
1024         to be standard compliant by testing for shape rather than size
1025         before skipping reallocation. Improve comments.
1027 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
1029         PR fortran/47224
1030         * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
1031         of code.
1033 2011-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
1035         PR fortran/38536
1036         * resolve.c (is_scalar_expr_ptr):  For a substring reference,
1037         use gfc_dep_compare_expr to compare start and end expession.
1038         Add FIXME for using gfc_deb_compare_expr elsewhere.
1040 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
1042         PR fortran/46313
1043         * class.c (get_unique_type_string): Make type name start with upper
1044         case letter.
1046 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
1048         PR fortran/46405
1049         * invoke.texi:  Mention -ffree-line-length-none and
1050         -ffixed-line-length-none for preprocessing.
1052 2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
1054         PR fortran/46896
1055         * trans-expr.c (gfc_conv_procedure_call): With a non-copying
1056         procedure argument (eg TRANSPOSE) use a temporary if there is
1057         any chance of aliasing due to host or use association.
1058         (arrayfunc_assign_needs_temporary): Correct logic for function
1059         results and do not use a temporary for implicitly PURE
1060         variables.  Use a temporary for Cray pointees.
1061         * symbol.c (gfc_add_save): Explicit SAVE not compatible with
1062         implicit pureness of containing procedure.
1063         * decl.c (match_old_style_init, gfc_match_data): Where decl
1064         would fail in PURE procedure, set implicit_pure to zero.
1065         * gfortran.h : Add implicit_pure to structure symbol_attr and
1066         add prototype for function gfc_implicit_pure.
1067         * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
1068         Where decl would fail in PURE procedure, reset implicit_pure.
1069         * io.c (match_vtag, gfc_match_open, gfc_match_close,
1070         gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
1071         * match.c (gfc_match_critical, gfc_match_stopcode,
1072         sync_statement, gfc_match_allocate, gfc_match_deallocate): The
1073         same.
1074         * parse.c (decode_omp_directive): The same.
1075         (parse_contained): If not PURE, set implicit pure attribute.
1076         * resolve.c (resolve_formal_arglist, resolve_structure_cons,
1077         resolve_function, resolve_ordinary_assign) : The same.
1078         (gfc_implicit_pure): New function.
1079         * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
1080         to ab_attribute enum and use it in this function.
1082 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
1084         PR fortran/45777
1085         * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
1086         make static and move in front of its only caller, to ...
1087         * trans-array.c (symbols_could_alias): ... here.
1088         Pass information about pointer and target status as
1089         arguments.  Allocatable arrays don't alias anything
1090         unless they have the POINTER attribute.
1091         (gfc_could_be_alias):  Keep track of pointer and target
1092         status when following references.  Also check if typespecs
1093         of components match those of other components or symbols.
1095 2011-01-07  Tobias Burnus  <burnus@net-b.de>
1097         PR fortran/41580
1098         * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
1099         * intrinsic.c (add_functions): Use simplify functions for
1100         EXTENDS_TYPE_OF and SAME_TYPE_AS.
1101         * intrinsic.h (gfc_simplify_extends_type_of,
1102         gfc_simplify_same_type_as): New prototypes.
1103         * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
1104         gfc_simplify_same_type_as): New functions.
1106 2011-01-07  Janus Weil  <janus@gcc.gnu.org>
1108         PR fortran/47189
1109         PR fortran/47194
1110         * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
1111         * class.c (gfc_class_null_initializer): Initialize _vptr to declared
1112         type.
1113         * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
1114         * resolve.c (resolve_deallocate_expr): _data component will be added
1115         at translation stage.
1116         * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
1117         * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
1119 2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
1121         PR fortran/33117
1122         PR fortran/46478
1123         * parse.c (parse_interface): Remove check for procedure types.
1124         * interface.c (check_interface0): Verify that procedures are
1125         either all SUBROUTINEs or all FUNCTIONs.
1127 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
1129         PR fortran/47180
1130         * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
1131         'vtab' is initialized).
1133 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
1135         PR fortran/47180
1136         * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
1137         assignment, set the _vptr component to the declared type.
1139 2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1141         PR fortran/46017
1142         * resolve.c (resolve_allocate_deallocate): Follow references to
1143         check for duplicate occurence of allocation/deallocation objects.
1145 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
1147         PR fortran/47024
1148         * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
1149         of polymorphic allocatables according to their declared type.
1151 2011-01-04  Janus Weil  <janus@gcc.gnu.org>
1153         PR fortran/46448
1154         * class.c (gfc_find_derived_vtab): Set the module field for the copying
1155         routine to make sure it receives module name mangling.
1157 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
1159         * gfortranspec.c (lang_specific_driver): Update copyright notice
1160         dates.
1162 2011-01-03  Janus Weil  <janus@gcc.gnu.org>
1164         * intrinsic.texi (LEADZ): Fix example.
1166 2011-01-02  Janus Weil  <janus@gcc.gnu.org>
1168         PR fortran/46408
1169         * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
1170         routine.
1173 Copyright (C) 2011 Free Software Foundation, Inc.
1175 Copying and distribution of this file, with or without modification,
1176 are permitted in any medium without royalty provided the copyright
1177 notice and this notice are preserved.