re PR fortran/48291 ([OOP] internal compiler error, new_symbol(): Symbol name too...
[official-gcc.git] / gcc / fortran / ChangeLog
blob8f44a09327598ee0eeb0bd6c4c08376341858e7c
1 2011-03-26  Janus Weil  <janus@gcc.gnu.org>
3         PR fortran/48291
4         * class.c (get_unique_hashed_string): Adjust maximum allowable length
5         for unique type string.
7 2011-03-25  Kai Tietz  <ktietz@redhat.com>
9         * scanner.c (preprocessor_line): Use filename_cmp
10         instead of strcmp.
12 2011-03-25  Tobias Burnus  <burnus@net-b.de>
14         PR fortran/48174
15         PR fortran/45304
16         * trans-types.c (gfc_get_function_type): Don't use varargs if the
17         procedure is known to have no arguments.
19 2010-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
21         PR fortran/22572
22         * gfortran.h (gfc_option_t) : Add
23         flag_aggressive_function_elimination.
24         (gfc_dep_compare_functions):  Add prototype.
25         * lang.opt: Add faggressive-function-elimination.
26         * invoke.texi: Document -faggressive-function-elimination.
27         * frontend_passes (expr_array):  New static variable.
28         (expr_size):  Likewise.
29         (expr_count):  Likewise.
30         (current_code):  Likewise.
31         (current_ns):  Likewise.
32         (gfc_run_passes):  Allocate and free space for expressions.
33         (cfe_register_funcs):  New function.
34         (create_var):  New function.
35         (cfc_expr_0):  New function.
36         (cfe_code):  New function.
37         (optimize_namespace):  Invoke gfc_code_walker with cfe_code
38         and cfe_expr_0.
39         * dependency.c (gfc_dep_compare_functions):  New function.
40         (gfc_dep_compare_expr):  Use it.
41         * options.c (gfc_init_options):  Handle
42         flag_aggressive_function_elimination.
43         (gfc_handle_option):  Likewise.
45 2011-03-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
47         * arith.c (arith_power): Plug memory leak.
49 2011-03-12  Janus Weil  <janus@gcc.gnu.org>
51         PR fortran/48059
52         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
53         for polymorphic arguments.
55 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
57         PR fortran/48054
58         * intrinsic.texi: Clarify doc of logarithm functions.
60 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
62         PR fortran/47552
63         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
64         the string length variable.
66 2011-03-11  Janus Weil  <janus@gcc.gnu.org>
68         PR fortran/47768
69         * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
70         (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
72 2011-03-06  Paul Thomas  <pault@gcc.gnu.org>
73             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
75         PR fortran/47850
76         * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
77         the expression has an iterator.  Otherwise, iterate through the
78         array, checking for constant expressions for each element.
80 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
82         PR libfortran/47802
83         * intrinsic.texi: Update CTIME and FDATE documentation.
85 2011-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87         * invoke.texi (Option Summary, Fortran Dialect Options)
88         (Preprocessing Options, Runtime Options, Code Gen Options):
89         Fix vertical list spacing by using @itemx for additinoal
90         items, empty line before @table.  Fix typos.
92 2011-02-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
94         PR fortran/47894
95         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
97 2011-02-26  Tobias Burnus  <burnus@net-b.de>
99         PR fortran/47846
100         * trans-stmt.c (gfc_trans_allocate): Fix allocation with
101         type-spec of deferred-length strings.
103 2011-02-26  Tobias Burnus  <burnus@net-b.de>
105         PR fortran/47886
106         * openmp.c (gfc_resolve_omp_directive): Resolve if()
107         condition of OpenMP's task.
109 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
111         PR fortran/47894
112         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
114 2011-02-24  Tobias Burnus  <burnus@net-b.de>
116         PR fortran/47872
117         * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
118         multitable for linebreak between different syntax variants.
120 2011-02-24  Richard Guenther  <rguenther@suse.de>
122         PR fortran/47839
123         * f95-lang.c (pushdecl): For externs in non-global scope push
124         a copy of the decl into the BLOCK.
126 2011-02-23  Mikael Morin  <mikael@gcc.gnu.org>
128         PR fortran/40850
129         * trans.c (gfc_prepend_expr_to_block): New function.
130         * trans.h (gfc_prepend_expr_to_block): Declare.
131         * trans-array.c (gfc_conv_array_parameter): Replace
132         gfc_add_expr_to_block with gfc_prepend_expr_to_block.
134 2011-02-22  Paul Thomas  <pault@gcc.gnu.org>
136         PR fortran/45743
137         * trans-decl.c (gfc_get_extern_function_decl): Don't use the
138         gsymbol backend_decl if the procedure has a formal argument
139         that is a procedure.
141 2011-02-22  Tobias Burnus  <burnus@net-b.de>
143         PR fortran/41359
144         * trans-stmt.c (gfc_trans_if_1): Use correct line for
145         expressions in the if condition.
147 2011-02-20  Tobias Burnus  <burnus@net-b.de>
149         PR fortran/47797
150         * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
151         gfc_restore_backend_locus to have better debug locations.
152         * trans-array.c (gfc_trans_deferred_array): Ditto.
154 2011-02-20  Paul Thomas  <pault@gcc.gnu.org>
156         PR fortran/45077
157         PR fortran/44945
158         * trans-types.c (gfc_get_derived_type): Remove code that looks
159         for decls in gsym and add call to gfc_get_module_backend_decl.
160         * trans.h : Add prototype for gfc_get_module_backend_decl.
161         * trans-decl.c (gfc_get_module_backend_decl): New function.
162         (gfc_get_symbol_decl): Call it.
164 2011-02-19  Paul Thomas  <pault@gcc.gnu.org>
166         PR fortran/47348
167         * trans-array.c (get_array_ctor_all_strlen): Move up in file.
168         (get_array_ctor_var_strlen): Add block dummy and add call to
169         get_array_ctor_all_strlen instead of giving up on substrings.
170         Call gcc_unreachable for default case.
171         (get_array_ctor_strlen): Add extra argument to in call to
172         get_array_ctor_var_strlen.
174 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
176         PR fortran/47789
177         * primary.c (gfc_match_structure_constructor): Handle empty parent
178         types.
180 2011-02-18  Tobias Burnus
182         PR fortran/47775
183         * trans-expr.c (arrayfunc_assign_needs_temporary): Use
184         esym to check whether the specific procedure returns an
185         allocatable or pointer.
187 2011-02-18  Michael Matz  <matz@suse.de>
189         PR fortran/45586
190         * gfortran.h (struct gfc_component): Add norestrict_decl member.
191         * trans.h (struct lang_type): Add nonrestricted_type member.
192         * trans-expr.c (gfc_conv_component_ref): Search fields with correct
193         parent type.
194         * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
195         (gfc_sym_type): Use it.
197 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
199         PR fortran/47768
200         * resolve.c (resolve_transfer): Reject variables with procedure pointer
201         components.
203 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
205         PR fortran/47767
206         * gfortran.h (gfc_check_access): Removed prototype.
207         (gfc_check_symbol_access): Added prototype.
208         * module.c (gfc_check_access): Renamed to 'check_access', made static.
209         (gfc_check_symbol_access): New function, basically a shortcut for
210         'check_access'.
211         (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
212         'gfc_check_symbol_access'.
213         (write_operator,write_module): Renamed 'gfc_check_access'.
214         * resolve.c (resolve_fl_procedure,resolve_fl_derived,
215         resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
216         'gfc_check_symbol_access'.
218 2011-02-16  Janus Weil  <janus@gcc.gnu.org>
220         PR fortran/47745
221         * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
222         * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
223         'gfc_build_class_symbol'.
224         (gfc_match_decl_type_spec): Reject unlimited polymorphism.
225         * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
226         * match.c (select_type_set_tmp): Move setting of 'class_ok' into
227         'gfc_build_class_symbol'.
228         * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
230 2011-02-15  Steven G. Kargl  <kargl@gcc.gnu.org>
232         PR fortran/47633
233         . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
235 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
237         PR fortran/47730
238         * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
240 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
242         PR fortran/47728
243         * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
244         arrays.
245         * primary.c (gfc_match_varspec): Avoid ICE for invalid class
246         declaration.
248 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
250         PR fortran/47349
251         * interface.c (get_expr_storage_size): Handle derived-type components.
253 2011-02-13  Tobias Burnus  <burnus@net-b.de>
255         PR fortran/47569
256         * interface.c (compare_parameter): Avoid ICE with
257         character components.
259 2011-02-12  Janus Weil  <janus@gcc.gnu.org>
261         * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
262         * decl.c (build_sym,build_struct,attr_decl1): Use return value of
263         'gfc_build_class_symbol'.
265 2011-02-12  Michael Matz  <matz@suse.de>
266             Janus Weil  <janus@gcc.gnu.org>
267             Tobias Burnus  <burnus@net-b.de>
269         PR fortran/45586
270         * trans-expr.c (conv_parent_component_references): Avoid unintendent
271         skipping of parent compounds.
273 2011-02-11  Tobias Burnus  <burnus@net-b.de>
275         PR fortran/47550
276         * resolve.c (resolve_formal_arglist): PURE with VALUE
277         and no INTENT: Add -std= diagnostics.
279 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
281         PR fortran/47352
282         * resolve.c (resolve_procedure_interface): If interface has a result
283         variable, copy the typespec and set result pointer to self.
285 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
287         PR fortran/47463
288         * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
290 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
292         PR fortran/47637
293         * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
295 2011-02-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
297         * io.c (match_io_element): Do not set dt if not inquire.
299 2011-02-08  Janus Weil  <janus@gcc.gnu.org>
301         PR fortran/45290
302         * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
303         initialization target.
305 2011-02-07  Janne Blomqvist  <jb@gcc.gnu.org>
306             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
308         * gfortran.texi (Thread-safety): texinfo styling fixes.
309         * intrinsic.texi: Likewise.
311 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
313         * gfortran.texi (Compiler Characteristics): Add reference to
314         thread-safety section.
316 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
318         * gfortran.texi (Thread-safety): New section.
319         * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
320         (GETENV): Likewise.
321         (GET_ENVIRONMENT_VARIABLE): Likewise.
322         (SYSTEM): Likewise.
324 2011-02-06  Paul Thomas  <pault@gcc.gnu.org>
326         PR fortran/47592
327         * trans-stmt.c (gfc_trans_allocate): For deferred character
328         length allocations with SOURCE, store to the values and string
329         length to avoid calculating twice.  Replace gfc_start_block
330         with gfc_init_block to avoid unnecessary contexts and to keep
331         declarations of temporaries where they should be. Tidy up the
332         code a bit.
334 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
336         PR fortran/42434
337         * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
339 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
340             Paul Thomas  <pault@gcc.gnu.org>
342         PR fortran/47082
343         * trans-expr.c (gfc_trans_class_init_assign): Add call to
344         gfc_get_derived_type.
345         * module.c (read_cleanup): Do not use unique_symtrees for vtabs
346         or vtypes.
348 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
350         PR fortran/47572
351         * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
353 2011-02-01  Janus Weil  <janus@gcc.gnu.org>
355         PR fortran/47565
356         * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
357         pointer components with allocatable result.
359 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
361         PR fortran/47455
362         * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
363         with pointer or allocatable result.
365 2011-01-31  Paul Thomas  <pault@gcc.gnu.org>
367         PR fortran/47519
368         * trans-stmt.c (gfc_trans_allocate): Improve handling of
369         deferred character lengths with SOURCE.
370         * iresolve.c (gfc_resolve_repeat): Calculate character
371         length from source length and ncopies.
372         * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
373         expressions for ALLOCATE.
375 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
377         PR fortran/47463
378         * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
379         an argument of a typebound assignment being a component.
381 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
383         * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
384         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
386 2011-01-31  Tobias Burnus  <burnus@net-b.de>
388         PR fortran/47042
389         * resolve.c (resolve_fl_procedure): Reject stmt functions
390         with pointer/allocatable attribute.
392 2011-01-31  Tobias Burnus  <burnus@net-b.de>
394         PR fortran/47042
395         * interface.c (gfc_procedure_use): Add explicit interface check for
396         pointer/allocatable functions.
398 2011-01-30  Paul Thomas  <pault@gcc.gnu.org>
400         PR fortran/47523
401         * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
402         expr and is assigned to a deferred character length scalar,
403         make sure that the function is called before reallocation,
404         so that the length is available. Include procedure pointer
405         and procedure pointer component rhs as well.
407         PR fortran/45170
408         PR fortran/35810
409         PR fortran/47350
410         * gfortran.dg/allocatable_function_5.f90: New test not added by
411         mistake on 2011-01-28.
413 2011-01-29  Tobias Burnus  <burnus@net-b.de>
415         PR fortran/47531
416         * check.c (gfc_check_shape): Support kind argument in SHAPE.
417         * intrinsic.c (add_functions): Ditto.
418         * resolve.c (gfc_resolve_shape): Ditto.
419         * simplify.c (gfc_simplify_shape): Ditto.
420         * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
421         gfc_simplify_shape): Update prototypes.
422         * intrinisc.text (SHAPE): Document kind argument.
424 2011-01-28  Tobias Burnus  <burnus@net-b.de>
426         PR fortran/47507
427         * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
428         attribute also without INTENT.
430 2011-01-28  Tobias Burnus  <burnus@net-b.de>
432         * gfortran.texi (Fortran 2003 status): Mention support for
433         nonconstant namelist variables.
435 2011-01-28  Paul Thomas  <pault@gcc.gnu.org>
436             Tobias Burnus  <burnus@gcc.gnu.org>
438         PR fortran/45170
439         PR fortran/35810
440         PR fortran/47350
441         * interface.c (compare_actual_formal): An allocatable or pointer
442         deferred length actual is only allowed if the formal argument
443         is also deferred length. Clean up whitespace.
444         * trans-expr.c (gfc_conv_procedure_call): Pass string length for
445         deferred character length formal arguments by reference. Do the
446         same for function results.
447         (gfc_trans_pointer_assignment): Do not do runtime check of lhs
448         and rhs character lengths, if deferred length lhs.  In this case
449         set the lhs character length to that of the rhs.
450         (gfc_conv_string_parameter): Remove assert that string length is
451         an integer type.
452         (is_scalar_reallocatable_lhs): New function.
453         (alloc_scalar_allocatable_for_assignment): New function.
454         (gfc_trans_assignment_1): Call above new function. If the rhs is
455         a deferred character length itself, makes ure that the function
456         is called before reallocation, so that the length is available.
457         (gfc_trans_asssignment): Remove error about assignment to
458         deferred length character variables.
459         * gfortran.texi : Update entry about (re)allocation on
460         assignment.
461         * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
462         length character variables.
463         * module.c (mio_typespec): Transfer deferred characteristic.
464         * trans-types.c (gfc_get_function_type): New code to generate
465         hidden typelist, so that those character lengths that are
466         passed by reference get the right type.
467         * resolve.c (resolve_contained_fntype): Supress error for
468         deferred character length functions.
469         (resolve_function, resolve_fl_procedure) The same.
470         (check_symbols): Remove the error that support for
471         entity with deferred type parameter is not yet implemented.
472         (resolve_fl_derived): The same.
473         match.c (alloc_opt_list): Allow MOLD for deferred length object.
474         * trans-decl.c (gfc_get_symbol_decl): For deferred character
475         length dummies, generate a local variable for string length.
476         (create_function_arglist): Hidden length can be a pointer.
477         (gfc_trans_deferred_vars): For deferred character length
478         results and dummies, assign the string length to the local
479         variable from the hidden argument on entry and the other way
480         round on exit, as appropriate.
482 2011-01-27  Tobias Burnus  <burnus@net-b.de>
484         PR fortran/47474
485         * trans-decl.c (gfc_generate_function_code): Fix init
486         of allocatable result variable with allocatable components.
488 2011-01-27  Tobias Burnus  <burnus@net-b.de>
490         PR fortran/47472
491         * options.c (gfc_handle_module_path_options): Save
492         module path without trailing slash as include path.
494 2011-01-25  Tobias Burnus  <burnus@net-b.de>
496         PR fortran/47448
497         * interface.c (gfc_check_operator_interface): Fix
498         defined-assignment check.
500 2011-01-23  Tobias Burnus  <burnus@net-b.de>
502         PR fortran/47421
503         * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
504         scalar allocatable dummy arguments.
506 2011-01-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
508         PR fortran/38536
509         * resolve.c (gfc_iso_c_func_interface):  For C_LOC,
510         check for array sections followed by component references
511         which are illegal.  Also check for coindexed arguments.
513 2011-01-22  Tobias Burnus  <burnus@net-b.de>
515         PR fortran/47399
516         * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
517         PARAMETER TBP.
519 2011-01-21  Tobias Burnus  <burnus@net-b.de>
521         PR fortran/47394
522         * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
523         Use defined instead of magic number exit status codes.
524         * scanner.c (include_line, gfc_new_file): Ditto.
526 2011-01-21  Tobias Burnus  <burnus@net-b.de>
528         PR fortran/47377
529         * expr.c (gfc_check_pointer_assign): Reject expr data-targets
530         without pointer attribute.
532 2011-01-18  Janus Weil  <janus@gcc.gnu.org>
534         PR fortran/47240
535         * resolve.c (expression_rank): Fix rank of procedure poiner components.
536         * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
537         pointer components as actual arguments.
539 2011-01-17  Jakub Jelinek  <jakub@redhat.com>
541         PR fortran/47331
542         * gfortran.h (struct gfc_omp_saved_state): New type.
543         (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
544         * resolve.c (resolve_global_procedure): Call it around gfc_resolve
545         call.
546         * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
547         functions.
549 2011-01-17  Tobias Burnus  <burnus@net-b.de>
551         PR fortran/47327
552         * invoke.texi (Options to request or suppress errors
553         and warnings): Fix cross link.
555 2011-01-15  Tobias Burnus  <burnus@net-b.de>
557         * gfortran.texi: Update Fortran 2003 Status section.
559         PR fortran/47177
560         * invoke.texi: Add missing "-E" to the -dM example.
562 2011-01-13  Tobias Burnus  <burnus@net-b.de>
564         PR fortran/47268
565         * intrinsic.texi (get_command_argument, get_environment_variable):
566         Mark arguments as optional in the Arguments section.
568 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
569             Tobias Burnus  <burnus@net-b.de>
571         PR fortran/47260
572         * trans-decl.c (gfc_get_extern_function_decl,
573         build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
574         calling decl_attributes.
576 2011-01-13  Tobias Burnus  <burnus@net-b.de>
577             Mikael Morin  <mikael@gcc.gnu.org>
579         PR fortran/45848
580         PR fortran/47204
581         * gfortran.h (gfc_code): Move union ext's case_list into
582         the struct block.
583         * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
584         by "block.".
585         * frontend-passes.c (gfc_code_walker): Ditto.
586         * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
587         gfc_match_type_is, gfc_match_class_is): Ditto.
588         * resolve.c (resolve_select, resolve_select_type): Ditto.
589         * st.c (gfc_free_statement): Ditto.
590         * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
591         gfc_trans_character_select): Ditto.
592         * parse.c (resolve_all_program_units): For error recovery, avoid
593         segfault is proc_name is NULL.
595 2011-01-11  Paul Thomas  <pault@gcc.gnu.org>
597         PR fortran/47051
598         * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
599         to be standard compliant by testing for shape rather than size
600         before skipping reallocation. Improve comments.
602 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
604         PR fortran/47224
605         * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
606         of code.
608 2011-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
610         PR fortran/38536
611         * resolve.c (is_scalar_expr_ptr):  For a substring reference,
612         use gfc_dep_compare_expr to compare start and end expession.
613         Add FIXME for using gfc_deb_compare_expr elsewhere.
615 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
617         PR fortran/46313
618         * class.c (get_unique_type_string): Make type name start with upper
619         case letter.
621 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
623         PR fortran/46405
624         * invoke.texi:  Mention -ffree-line-length-none and
625         -ffixed-line-length-none for preprocessing.
627 2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
629         PR fortran/46896
630         * trans-expr.c (gfc_conv_procedure_call): With a non-copying
631         procedure argument (eg TRANSPOSE) use a temporary if there is
632         any chance of aliasing due to host or use association.
633         (arrayfunc_assign_needs_temporary): Correct logic for function
634         results and do not use a temporary for implicitly PURE
635         variables.  Use a temporary for Cray pointees.
636         * symbol.c (gfc_add_save): Explicit SAVE not compatible with
637         implicit pureness of containing procedure.
638         * decl.c (match_old_style_init, gfc_match_data): Where decl
639         would fail in PURE procedure, set implicit_pure to zero.
640         * gfortran.h : Add implicit_pure to structure symbol_attr and
641         add prototype for function gfc_implicit_pure.
642         * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
643         Where decl would fail in PURE procedure, reset implicit_pure.
644         * io.c (match_vtag, gfc_match_open, gfc_match_close,
645         gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
646         * match.c (gfc_match_critical, gfc_match_stopcode,
647         sync_statement, gfc_match_allocate, gfc_match_deallocate): The
648         same.
649         * parse.c (decode_omp_directive): The same.
650         (parse_contained): If not PURE, set implicit pure attribute.
651         * resolve.c (resolve_formal_arglist, resolve_structure_cons,
652         resolve_function, resolve_ordinary_assign) : The same.
653         (gfc_implicit_pure): New function.
654         * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
655         to ab_attribute enum and use it in this function.
657 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
659         PR fortran/45777
660         * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
661         make static and move in front of its only caller, to ...
662         * trans-array.c (symbols_could_alias): ... here.
663         Pass information about pointer and target status as
664         arguments.  Allocatable arrays don't alias anything
665         unless they have the POINTER attribute.
666         (gfc_could_be_alias):  Keep track of pointer and target
667         status when following references.  Also check if typespecs
668         of components match those of other components or symbols.
670 2011-01-07  Tobias Burnus  <burnus@net-b.de>
672         PR fortran/41580
673         * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
674         * intrinsic.c (add_functions): Use simplify functions for
675         EXTENDS_TYPE_OF and SAME_TYPE_AS.
676         * intrinsic.h (gfc_simplify_extends_type_of,
677         gfc_simplify_same_type_as): New prototypes.
678         * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
679         gfc_simplify_same_type_as): New functions.
681 2011-01-07  Janus Weil  <janus@gcc.gnu.org>
683         PR fortran/47189
684         PR fortran/47194
685         * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
686         * class.c (gfc_class_null_initializer): Initialize _vptr to declared
687         type.
688         * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
689         * resolve.c (resolve_deallocate_expr): _data component will be added
690         at translation stage.
691         * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
692         * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
694 2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
696         PR fortran/33117
697         PR fortran/46478
698         * parse.c (parse_interface): Remove check for procedure types.
699         * interface.c (check_interface0): Verify that procedures are
700         either all SUBROUTINEs or all FUNCTIONs.
702 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
704         PR fortran/47180
705         * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
706         'vtab' is initialized).
708 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
710         PR fortran/47180
711         * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
712         assignment, set the _vptr component to the declared type.
714 2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
716         PR fortran/46017
717         * resolve.c (resolve_allocate_deallocate): Follow references to
718         check for duplicate occurence of allocation/deallocation objects.
720 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
722         PR fortran/47024
723         * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
724         of polymorphic allocatables according to their declared type.
726 2011-01-04  Janus Weil  <janus@gcc.gnu.org>
728         PR fortran/46448
729         * class.c (gfc_find_derived_vtab): Set the module field for the copying
730         routine to make sure it receives module name mangling.
732 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
734         * gfortranspec.c (lang_specific_driver): Update copyright notice
735         dates.
737 2011-01-03  Janus Weil  <janus@gcc.gnu.org>
739         * intrinsic.texi (LEADZ): Fix example.
741 2011-01-02  Janus Weil  <janus@gcc.gnu.org>
743         PR fortran/46408
744         * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
745         routine.
748 Copyright (C) 2011 Free Software Foundation, Inc.
750 Copying and distribution of this file, with or without modification,
751 are permitted in any medium without royalty provided the copyright
752 notice and this notice are preserved.