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