OSDN Git Service

2011-01-08 Paul Thomas <pault@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
2
3         PR fortran/46896
4         * trans-expr.c (gfc_conv_procedure_call): With a non-copying
5         procedure argument (eg TRANSPOSE) use a temporary if there is
6         any chance of aliasing due to host or use association.
7         (arrayfunc_assign_needs_temporary): Correct logic for function
8         results and do not use a temporary for implicitly PURE
9         variables.  Use a temporary for Cray pointees.
10         * symbol.c (gfc_add_save): Explicit SAVE not compatible with
11         implicit pureness of containing procedure.
12         * decl.c (match_old_style_init, gfc_match_data): Where decl
13         would fail in PURE procedure, set implicit_pure to zero.
14         * gfortran.h : Add implicit_pure to structure symbol_attr and
15         add prototype for function gfc_implicit_pure.
16         * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
17         Where decl would fail in PURE procedure, reset implicit_pure.
18         * io.c (match_vtag, gfc_match_open, gfc_match_close,
19         gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
20         * match.c (gfc_match_critical, gfc_match_stopcode,
21         sync_statement, gfc_match_allocate, gfc_match_deallocate): The
22         same.
23         * parse.c (decode_omp_directive): The same.
24         (parse_contained): If not PURE, set implicit pure attribute.
25         * resolve.c (resolve_formal_arglist, resolve_structure_cons,
26         resolve_function, resolve_ordinary_assign) : The same.
27         (gfc_implicit_pure): New function.
28         * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
29         to ab_attribute enum and use it in this function.
30
31 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
32
33         PR fortran/45777
34         * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
35         make static and move in front of its only caller, to ...
36         * trans-array.c (symbols_could_alias): ... here.
37         Pass information about pointer and target status as
38         arguments.  Allocatable arrays don't alias anything
39         unless they have the POINTER attribute.
40         (gfc_could_be_alias):  Keep track of pointer and target
41         status when following references.  Also check if typespecs
42         of components match those of other components or symbols.
43
44 2011-01-07  Tobias Burnus  <burnus@net-b.de>
45
46         PR fortran/41580
47         * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
48         * intrinsic.c (add_functions): Use simplify functions for
49         EXTENDS_TYPE_OF and SAME_TYPE_AS.
50         * intrinsic.h (gfc_simplify_extends_type_of,
51         gfc_simplify_same_type_as): New prototypes.
52         * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
53         gfc_simplify_same_type_as): New functions.
54
55 2011-01-07  Janus Weil  <janus@gcc.gnu.org>
56
57         PR fortran/47189
58         PR fortran/47194
59         * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
60         * class.c (gfc_class_null_initializer): Initialize _vptr to declared
61         type.
62         * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
63         * resolve.c (resolve_deallocate_expr): _data component will be added
64         at translation stage.
65         * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
66         * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
67
68 2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
69
70         PR fortran/33117
71         PR fortran/46478
72         * parse.c (parse_interface): Remove check for procedure types.
73         * interface.c (check_interface0): Verify that procedures are
74         either all SUBROUTINEs or all FUNCTIONs.
75
76 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
77
78         PR fortran/47180
79         * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
80         'vtab' is initialized).
81
82 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
83
84         PR fortran/47180
85         * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
86         assignment, set the _vptr component to the declared type.
87
88 2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
89
90         PR fortran/46017
91         * resolve.c (resolve_allocate_deallocate): Follow references to
92         check for duplicate occurence of allocation/deallocation objects.
93
94 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
95
96         PR fortran/47024
97         * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
98         of polymorphic allocatables according to their declared type.
99
100 2011-01-04  Janus Weil  <janus@gcc.gnu.org>
101
102         PR fortran/46448
103         * class.c (gfc_find_derived_vtab): Set the module field for the copying
104         routine to make sure it receives module name mangling.
105
106 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
107
108         * gfortranspec.c (lang_specific_driver): Update copyright notice
109         dates.
110
111 2011-01-03  Janus Weil  <janus@gcc.gnu.org>
112
113         * intrinsic.texi (LEADZ): Fix example.
114
115 2011-01-02  Janus Weil  <janus@gcc.gnu.org>
116
117         PR fortran/46408
118         * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
119         routine.
120
121 \f
122 Copyright (C) 2011 Free Software Foundation, Inc.
123
124 Copying and distribution of this file, with or without modification,
125 are permitted in any medium without royalty provided the copyright
126 notice and this notice are preserved.