OSDN Git Service

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