OSDN Git Service

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