OSDN Git Service

2011-01-21 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2011-01-21  Tobias Burnus  <burnus@net-b.de>
2
3         PR fortran/47377
4         * expr.c (gfc_check_pointer_assign): Reject expr data-targets
5         without pointer attribute.
6
7 2011-01-18  Janus Weil  <janus@gcc.gnu.org>
8
9         PR fortran/47240
10         * resolve.c (expression_rank): Fix rank of procedure poiner components.
11         * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
12         pointer components as actual arguments.
13
14 2011-01-17  Jakub Jelinek  <jakub@redhat.com>
15
16         PR fortran/47331
17         * gfortran.h (struct gfc_omp_saved_state): New type.
18         (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
19         * resolve.c (resolve_global_procedure): Call it around gfc_resolve
20         call.
21         * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
22         functions.
23
24 2011-01-17  Tobias Burnus  <burnus@net-b.de>
25
26         PR fortran/47327
27         * invoke.texi (Options to request or suppress errors
28         and warnings): Fix cross link.
29
30 2011-01-15  Tobias Burnus  <burnus@net-b.de>
31
32         * gfortran.texi: Update Fortran 2003 Status section.
33
34         PR fortran/47177
35         * invoke.texi: Add missing "-E" to the -dM example.
36
37 2011-01-13  Tobias Burnus  <burnus@net-b.de>
38
39         PR fortran/47268
40         * intrinsic.texi (get_command_argument, get_environment_variable):
41         Mark arguments as optional in the Arguments section.
42
43 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
44             Tobias Burnus  <burnus@net-b.de>
45
46         PR fortran/47260
47         * trans-decl.c (gfc_get_extern_function_decl,
48         build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
49         calling decl_attributes.
50
51 2011-01-13  Tobias Burnus  <burnus@net-b.de>
52             Mikael Morin  <mikael@gcc.gnu.org>
53
54         PR fortran/45848
55         PR fortran/47204
56         * gfortran.h (gfc_code): Move union ext's case_list into
57         the struct block.
58         * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
59         by "block.".
60         * frontend-passes.c (gfc_code_walker): Ditto.
61         * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
62         gfc_match_type_is, gfc_match_class_is): Ditto.
63         * resolve.c (resolve_select, resolve_select_type): Ditto.
64         * st.c (gfc_free_statement): Ditto.
65         * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
66         gfc_trans_character_select): Ditto.
67         * parse.c (resolve_all_program_units): For error recovery, avoid
68         segfault is proc_name is NULL.
69
70 2011-01-11  Paul Thomas  <pault@gcc.gnu.org>
71
72         PR fortran/47051
73         * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
74         to be standard compliant by testing for shape rather than size
75         before skipping reallocation. Improve comments.
76
77 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
78
79         PR fortran/47224
80         * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
81         of code.
82
83 2011-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
84
85         PR fortran/38536
86         * resolve.c (is_scalar_expr_ptr):  For a substring reference,
87         use gfc_dep_compare_expr to compare start and end expession.
88         Add FIXME for using gfc_deb_compare_expr elsewhere.
89
90 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
91
92         PR fortran/46313
93         * class.c (get_unique_type_string): Make type name start with upper
94         case letter.
95
96 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
97
98         PR fortran/46405
99         * invoke.texi:  Mention -ffree-line-length-none and
100         -ffixed-line-length-none for preprocessing.
101
102 2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
103
104         PR fortran/46896
105         * trans-expr.c (gfc_conv_procedure_call): With a non-copying
106         procedure argument (eg TRANSPOSE) use a temporary if there is
107         any chance of aliasing due to host or use association.
108         (arrayfunc_assign_needs_temporary): Correct logic for function
109         results and do not use a temporary for implicitly PURE
110         variables.  Use a temporary for Cray pointees.
111         * symbol.c (gfc_add_save): Explicit SAVE not compatible with
112         implicit pureness of containing procedure.
113         * decl.c (match_old_style_init, gfc_match_data): Where decl
114         would fail in PURE procedure, set implicit_pure to zero.
115         * gfortran.h : Add implicit_pure to structure symbol_attr and
116         add prototype for function gfc_implicit_pure.
117         * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
118         Where decl would fail in PURE procedure, reset implicit_pure.
119         * io.c (match_vtag, gfc_match_open, gfc_match_close,
120         gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
121         * match.c (gfc_match_critical, gfc_match_stopcode,
122         sync_statement, gfc_match_allocate, gfc_match_deallocate): The
123         same.
124         * parse.c (decode_omp_directive): The same.
125         (parse_contained): If not PURE, set implicit pure attribute.
126         * resolve.c (resolve_formal_arglist, resolve_structure_cons,
127         resolve_function, resolve_ordinary_assign) : The same.
128         (gfc_implicit_pure): New function.
129         * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
130         to ab_attribute enum and use it in this function.
131
132 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
133
134         PR fortran/45777
135         * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
136         make static and move in front of its only caller, to ...
137         * trans-array.c (symbols_could_alias): ... here.
138         Pass information about pointer and target status as
139         arguments.  Allocatable arrays don't alias anything
140         unless they have the POINTER attribute.
141         (gfc_could_be_alias):  Keep track of pointer and target
142         status when following references.  Also check if typespecs
143         of components match those of other components or symbols.
144
145 2011-01-07  Tobias Burnus  <burnus@net-b.de>
146
147         PR fortran/41580
148         * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
149         * intrinsic.c (add_functions): Use simplify functions for
150         EXTENDS_TYPE_OF and SAME_TYPE_AS.
151         * intrinsic.h (gfc_simplify_extends_type_of,
152         gfc_simplify_same_type_as): New prototypes.
153         * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
154         gfc_simplify_same_type_as): New functions.
155
156 2011-01-07  Janus Weil  <janus@gcc.gnu.org>
157
158         PR fortran/47189
159         PR fortran/47194
160         * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
161         * class.c (gfc_class_null_initializer): Initialize _vptr to declared
162         type.
163         * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
164         * resolve.c (resolve_deallocate_expr): _data component will be added
165         at translation stage.
166         * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
167         * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
168
169 2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
170
171         PR fortran/33117
172         PR fortran/46478
173         * parse.c (parse_interface): Remove check for procedure types.
174         * interface.c (check_interface0): Verify that procedures are
175         either all SUBROUTINEs or all FUNCTIONs.
176
177 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
178
179         PR fortran/47180
180         * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
181         'vtab' is initialized).
182
183 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
184
185         PR fortran/47180
186         * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
187         assignment, set the _vptr component to the declared type.
188
189 2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
190
191         PR fortran/46017
192         * resolve.c (resolve_allocate_deallocate): Follow references to
193         check for duplicate occurence of allocation/deallocation objects.
194
195 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
196
197         PR fortran/47024
198         * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
199         of polymorphic allocatables according to their declared type.
200
201 2011-01-04  Janus Weil  <janus@gcc.gnu.org>
202
203         PR fortran/46448
204         * class.c (gfc_find_derived_vtab): Set the module field for the copying
205         routine to make sure it receives module name mangling.
206
207 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
208
209         * gfortranspec.c (lang_specific_driver): Update copyright notice
210         dates.
211
212 2011-01-03  Janus Weil  <janus@gcc.gnu.org>
213
214         * intrinsic.texi (LEADZ): Fix example.
215
216 2011-01-02  Janus Weil  <janus@gcc.gnu.org>
217
218         PR fortran/46408
219         * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
220         routine.
221
222 \f
223 Copyright (C) 2011 Free Software Foundation, Inc.
224
225 Copying and distribution of this file, with or without modification,
226 are permitted in any medium without royalty provided the copyright
227 notice and this notice are preserved.