OSDN Git Service

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