]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
re PR middle-end/39701 (Revision 145846 caused many test failures)
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
045ac367
DF
12009-04-10 Daniel Franke <franke.daniel@gmail.com>
2
3 PR fortran/38709
4 * expr.c (find_array_section): Leave early on zero-sized arrays.
5
3070bab4
JW
62009-04-09 Janus Weil <janus@gcc.gnu.org>
7
8 PR fortran/36704
9 * decl.c (add_hidden_procptr_result): New function for handling
10 procedure pointer return values by adding a hidden result variable.
11 (variable_decl,match_procedure_decl,gfc_match_function_decl,
12 gfc_match_subroutine,gfc_match_end,attr_decl1): Handle procedure pointer
13 return values.
14 * parse.c (parse_interface): Add EXTERNAL attribute only after
15 FUNCTION/SUBROUTINE declaration is complete.
16 * primary.c (replace_hidden_procptr_result): New function for replacing
17 function symbol by hidden result variable.
18 (gfc_match_rvalue,match_variable): Replace symbol by hidden result
19 variable.
20 * resolve.c (resolve_contained_fntype,resolve_function,resolve_variable,
21 resolve_symbol): Allow for procedure pointer function results.
22 (resolve_fl_procedure): Conflict detection moved here from
23 'check_conflict'.
24 * symbol.c (gfc_check_function_type): Allow for procedure pointer
25 function results.
26 (check_conflict): Move some conflict detection to resolution stage.
27 * trans-types.c (gfc_sym_type,gfc_get_function_type): Handle hidden
28 result variables.
29
dead0bae
JJ
302009-04-08 Jakub Jelinek <jakub@redhat.com>
31
32 * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't
33 contain TYPE_STRING_FLAG types.
34
cba2a54e
JB
352009-04-08 Janne Blomqvist <jb@gcc.gnu.org>
36
37 PR fortran/39670
38 * invoke.texi (fdollar-ok): Fix typo.
39
f4a55802
DF
402009-04-08 Daniel Franke <franke.daniel@gmail.com>
41
42 PR fortran/39670
43 * invoke.texi (fdollar-ok): Clarify limitations.
44
bafc96b4
PT
452009-04-08 Paul Thomas <pault@gcc.gnu.org>
46
47 PR fortran/38863
48 * trans-array.c (gfc_trans_deferred_array): Return if this
49 is a result variable.
50
13d138bf
JW
512009-04-07 Janus Weil <janus@gcc.gnu.org>
52
53 PR fortran/38152
54 * trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for
55 procedure pointer decls.
56
3afadac3
JW
572009-04-07 Janus Weil <janus@gcc.gnu.org>
58
c22ba5ff 59 PR fortran/38290
3afadac3
JW
60 * expr.c (gfc_check_pointer_assign): Enable interface check for
61 procedure pointers.
62 * gfortran.h: Add copy_formal_args_intr.
63 * interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces
64 if second argument is an intrinsic.
65 (compare_intr_interfaces): Correctly set attr.function, attr.subroutine
66 and ts.
67 (compare_parameter): Call gfc_compare_interfaces also for intrinsics.
68 * resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve
69 intrinsic interfaces here. Must happen earlier.
70 (resolve_symbol): Resolution of intrinsic interfaces moved here from
71 resolve_specific_..., and formal args are now copied from intrinsic
72 interfaces.
73 * symbol.c (copy_formal_args_intr): New function to copy the formal
74 arguments from an intinsic procedure.
75
ea0a374b
PT
762009-04-06 Paul Thomas <pault@gcc.gnu.org>
77
78 PR fortran/38863
79 * dependency.c (ref_same_as_full_array): New function.
80 (gfc_dep_resolver): Call it.
81
1d146030
JW
822009-04-06 Janus Weil <janus@gcc.gnu.org>
83
84 PR fortran/39414
85 * decl.c (match_procedure_decl): Fix double declaration problems with
86 PROCEDURE statements.
87 * symbol.c (gfc_add_type): Ditto.
88
59e36b72
PT
892009-04-06 Paul Thomas <pault@gcc.gnu.org>
90
91 PR fortran/36091
92 * trans-array.c (gfc_conv_array_ref): If the symbol has the
93 temporary attribute use the array_spec for the bounds.
94 * gfortran.h : Add the temporary field to the structure
95 'symbol_attribute'.
96 * trans-stmt.c (forall_make_variable_temp): Set the symbol's
97 temporary attribute.
98
beb64b4a
DF
992009-04-05 Daniel Franke <franke.daniel@gmail.com>
100
101 PR fortran/29458
102 * trans-array.c (gfc_trans_array_constructor_value): Shadow
103 implied do-loop variable to avoid spurious middle-end warnings.
104
cf7d2eb0
TB
1052009-04-04 Tobias Burnus <burnus@net-b.de>
106
107 PR fortran/39577
108 * trans-decl.c (gfc_generate_function_code): Move recursive
109 check to the right position.
110
6f85546f
PT
1112009-04-04 Paul Thomas <pault@gcc.gnu.org>
112
113 PR fortran/37614
114 * trans-common.c (translate_common): Do not offset the whole
115 coomon block.
116
6f9c9d6d
TB
1172009-04-03 Tobias Burnus <burnus@net-b.de>
118
119 PR fortran/39594
120 * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
121 if it is not a procedure pointer.
122 * primary.c (match_actual_arg): Ditto.
123
47580d22
JM
1242009-03-31 Joseph Myers <joseph@codesourcery.com>
125
126 PR preprocessor/15638
127 * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
128
3759634f
SK
1292009-03-30 Steven G. Kargl <kargls@comcast.net>
130
131 PR fortran/38389
132 * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
133 (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale
134 comments. Minor whitespace cleanup.
135 * resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
136 (resolve_deallocate_expr (gfc_expr *e): Update error message.
137 (resolve_allocate_expr): Remove dead code. Update error message.
138 Move error checking to ...
139 (resolve_allocate_deallocate): ... here. Add additional error
140 checking for STAT, ERRMSG, and allocate-objects.
141 * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG.
142 Check for redundant uses of STAT and ERRMSG. Reword error message
143 and add checking for pointer, allocatable, and proc_pointer attributes.
144
71a7778c
PT
1452009-03-30 Paul Thomas <pault@gcc.gnu.org>
146
147 PR fortran/22571
148 PR fortran/26227
149 PR fortran/24886
150 * symbol.c : Add gfc_global_ns_list.
151 * decl.c (add_global_entry): Set the namespace ('ns') field.
152 * gfortran.h : Add the resolved field to gfc_namespace. Add the
153 namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to
154 gfc_option_t. Add the prototype for gfc_free_dt_list.
155 * lang.opt : Add the whole-file option.
156 * invoke.texi : Document the whole-file option.
157 * resolve.c (resolve_global_procedure): If the fwhole-file
158 option is set, reorder gsymbols to ensure that translation is
159 in the right order. Resolve the gsymbol's namespace if that
160 has not occurred and then check interfaces.
161 (resolve_function): Move call to resolve_global_procedure.
162 (resolve_call): The same.
163 (resolve_codes): Store the current labels_obstack.
164 (gfc_resolve) : Return if the namespace is already resolved.
165 trans-decl.c (gfc_get_extern_function_decl): If the whole_file
166 option is selected, use the backend_decl of a gsymbol, if it is
167 available.
168 parse.c (add_global_procedure, add_global_program): If the flag
169 whole-file is set, add the namespace to the gsymbol.
170 (gfc_parse_file): On -fwhole-file, put procedure namespaces on
171 the global namespace list. Rearrange to do resolution of all
172 the procedures in a file, followed by their translation.
173 * options.c (gfc_init_options): Add -fwhole-file.
174 (gfc_handle_option): The same.
175
f6d53468
UW
1762009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
177
178 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
179 family of intrinsics instead of BUILT_IN_INF family.
180 * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
181 BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
182
665733c1
JJ
1832009-03-30 Jakub Jelinek <jakub@redhat.com>
184
185 * trans-types.c (gfc_sym_type, gfc_return_by_reference): For
186 sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
187
8ce94e44
JM
1882009-03-30 Joseph Myers <joseph@codesourcery.com>
189
190 PR rtl-optimization/323
191 * options.c (gfc_post_options): Set
192 flag_excess_precision_cmdline. Give an error for
193 -fexcess-precision=standard for processors where the option is
194 significant.
195
148e4216
JM
1962009-03-29 Joseph Myers <joseph@codesourcery.com>
197
198 PR preprocessor/34695
199 * cpp.c (cb_cpp_error): New.
200 (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
201 Don't check cpp_errors (cpp_in).
202 (gfc_cpp_init_0): Set cb->error.
203
6bb62671
SK
2042009-03-29 Steven G. Kargl <kargl@gcc.gnu.org>
205
206 PR fortran/38823
207 * gfortran.h: Add ARITH_PROHIBIT to arith enum.
208 expr.c (gfc_match_init_expr): Add global variable init_flag to
209 flag matching an initialization expression.
210 (check_intrinsic_op): Move no longer reachable error message to ...
211 * arith.c (arith_power): ... here. Remove gfc_ prefix in
212 gfc_arith_power. Use init_flag. Allow constant folding of x**y
213 when y is REAL or COMPLEX.
214 (eval_intrinsic): Remove restriction that y in x**y must be INTEGER
215 for constant folding.
216 * gfc_power: Update gfc_arith_power to arith_power
217
b0e5fa94
DK
2182009-03-29 Daniel Kraft <d@domob.eu>
219
220 PR fortran/37423
221 * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and
222 added a comment explaining DEFERRED binding handling.
223 * decl.c (match_binding_attributes): Really match DEFERRED attribute.
224 (match_procedure_in_type): Really match PROCEDURE(interface) syntax
225 and do some validity checks for DEFERRED and this construct.
226 * module.c (binding_overriding): New string constant for DEFERRED.
227 (mio_typebound_proc): Module-IO DEFERRED flag.
228 * resolve.c (check_typebound_override): Ensure that a non-DEFERRED
229 binding is not overridden by a DEFERRED one.
230 (resolve_typebound_procedure): Allow abstract interfaces as targets
231 for DEFERRED bindings.
232 (ensure_not_abstract_walker), (ensure_not_abstract): New methods.
233 (resolve_fl_derived): Use new `ensure_not_abstract' method for
234 non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED
235 binding is overridden.
236 (check_typebound_baseobject): New method.
237 (resolve_compcall), (resolve_typebound_call): Check base-object of
238 the type-bound procedure call.
239 * gfc-internals.texi (Type-bound procedures): Document a little bit
240 about internal handling of DEFERRED bindings.
241
d80c695f
TS
242