OSDN Git Service

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