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