OSDN Git Service

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