]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
ABOUT-GCC-NLS, [...]: Add copyright and license notices.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
ad41bd84
JM
12009-04-21 Joseph Myers <joseph@codesourcery.com>
2
3 * ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004,
4 ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008,
5 ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add
6 copyright and license notices.
7 * ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007,
8 ChangeLog-2008: Correct dates.
9
47b0b4fa
TB
102009-04-20 Tobias Burnus <burnus@net-b.de>
11
12 PR fortran/39811
13 * scanner.c (load_line): Fix bogus "&" compile-time diagnostic.
14
c867b7b6
PT
152009-04-20 Paul Thomas <pault@gcc.gnu.org>
16
17 PR fortran/39800
18 * resolve.c (is_sym_host_assoc): New function.
19 (resolve_fl_derived): Call it when checking PRIVATE components
20 of PUBLIC derived types. Change gfc_error to a gfc_notify_std
21 with std=f2003.
22 (resolve_fl_namelist): Call it twice to check for host
23 association.
24
8fa2df72
ILT
252009-04-20 Ian Lance Taylor <iant@google.com>
26
27 * module.c (import_iso_c_binding_module): Add casts to enum type.
28 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Change op to enum
29 tree_code.
30 (gfc_conv_intrinsic_anyall): Likewise.
31 (gfc_conv_intrinsic_arith): Likewise.
32 (gfc_conv_intrinsic_minmaxloc): Likewise.
33 (gfc_conv_intrinsic_minmaxval): Likewise.
34 (gfc_conv_intrinsic_bitop): Likewise.
35 (gfc_conv_intrinsic_singlebitop): Likewise.
36 (gfc_conv_intrinsic_strcmp): Likewise.
37
34d01e1d
VL
382009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
39 Jakub Jelinek <jakub@redhat.com>
40
41 PR fortran/35423
42 * trans.h (OMPWS_WORKSHARE_FLAG, OMPWS_CURR_SINGLEUNIT,
43 OMPWS_SCALARIZER_WS, OMPWS_NOWAIT): Define.
44 (ompws_flags): New extern decl.
45 * trans-array.c (gfc_trans_scalarized_loop_end): Build OMP_FOR
46 for the outer dimension if ompws_flags allow it.
47 * trans.c (gfc_generate_code): Clear ompws_flags.
48 * trans-expr.c (gfc_trans_assignment_1): Allow worksharing
49 array assignments inside of !$omp workshare.
50 * trans-stmt.c (gfc_trans_where_3): Similarly for where statements
51 and constructs.
52 * trans-openmp.c (ompws_flags): New variable.
53 (gfc_trans_omp_workshare): Rewritten.
54
cadb8f42
DK
552009-04-11 Daniel Kraft <d@domob.eu>
56
57 PR fortran/37746
58 * gfortran.h (struct gfc_charlen): New field `passed_length' to store
59 the actual passed string length for dummy arguments.
60 * trans-decl.c (gfc_create_string_length): Formatting fixes and added
61 assertion, moved a local variable into the innermost block it is needed.
62 (create_function_arglist): Removed TODO about the check being
63 implemented and initialize cl->passed_length here.
64 (add_argument_checking): New method.
65 (gfc_generate_function_code): Call the argument checking method.
66
d1e49db4
JW
672009-04-11 Janus Weil <janus@gcc.gnu.org>
68
69 PR fortran/39692
70 * symbol.c (check_conflict): Reject procedure pointers for -std=f95.
71
722009-04-11 Daniel Franke <franke.daniel@gmail.com>
568eecad
DF
73
74 * resolve.c (resolve_global_procedure): Enable whole-file checking for
75 procedures that are declared later in the file.
76
a862775d
PB
772009-04-10 Paolo Bonzini <bonzini@gnu.org>
78
79 PR middle-end/39701
80 * trans.c (gfc_allocate_with_status): Fix type mismatches
81 on "pstat == 0".
82
045ac367
DF
832009-04-10 Daniel Franke <franke.daniel@gmail.com>
84
85 PR fortran/38709
86 * expr.c (find_array_section): Leave early on zero-sized arrays.
87
3070bab4
JW
882009-04-09 Janus Weil <janus@gcc.gnu.org>
89
90 PR fortran/36704
91 * decl.c (add_hidden_procptr_result): New function for handling
92 procedure pointer return values by adding a hidden result variable.
93 (variable_decl,match_procedure_decl,gfc_match_function_decl,
94 gfc_match_subroutine,gfc_match_end,attr_decl1): Handle procedure pointer
95 return values.
96 * parse.c (parse_interface): Add EXTERNAL attribute only after
97 FUNCTION/SUBROUTINE declaration is complete.
98 * primary.c (replace_hidden_procptr_result): New function for replacing
99 function symbol by hidden result variable.
100 (gfc_match_rvalue,match_variable): Replace symbol by hidden result
101 variable.
102 * resolve.c (resolve_contained_fntype,resolve_function,resolve_variable,
103 resolve_symbol): Allow for procedure pointer function results.
104 (resolve_fl_procedure): Conflict detection moved here from
105 'check_conflict'.
106 * symbol.c (gfc_check_function_type): Allow for procedure pointer
107 function results.
108 (check_conflict): Move some conflict detection to resolution stage.
109 * trans-types.c (gfc_sym_type,gfc_get_function_type): Handle hidden
110 result variables.
111
dead0bae
JJ
1122009-04-08 Jakub Jelinek <jakub@redhat.com>
113
114 * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't
115 contain TYPE_STRING_FLAG types.
116
cba2a54e
JB
1172009-04-08 Janne Blomqvist <jb@gcc.gnu.org>
118
119 PR fortran/39670
120 * invoke.texi (fdollar-ok): Fix typo.
121
f4a55802
DF
1222009-04-08 Daniel Franke <franke.daniel@gmail.com>
123
124 PR fortran/39670
125 * invoke.texi (fdollar-ok): Clarify limitations.
126
bafc96b4
PT
1272009-04-08 Paul Thomas <pault@gcc.gnu.org>
128
129 PR fortran/38863
130 * trans-array.c (gfc_trans_deferred_array): Return if this
131 is a result variable.
132
13d138bf
JW
1332009-04-07 Janus Weil <janus@gcc.gnu.org>
134
135 PR fortran/38152
136 * trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for
137 procedure pointer decls.
138
3afadac3
JW
1392009-04-07 Janus Weil <janus@gcc.gnu.org>
140
c22ba5ff 141 PR fortran/38290
3afadac3
JW
142 * expr.c (gfc_check_pointer_assign): Enable interface check for
143 procedure pointers.
144 * gfortran.h: Add copy_formal_args_intr.
145 * interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces
146 if second argument is an intrinsic.
147 (compare_intr_interfaces): Correctly set attr.function, attr.subroutine
148 and ts.
149 (compare_parameter): Call gfc_compare_interfaces also for intrinsics.
150 * resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve
151 intrinsic interfaces here. Must happen earlier.
152 (resolve_symbol): Resolution of intrinsic interfaces moved here from
153 resolve_specific_..., and formal args are now copied from intrinsic
154 interfaces.
155 * symbol.c (copy_formal_args_intr): New function to copy the formal
156 arguments from an intinsic procedure.
157
ea0a374b
PT
1582009-04-06 Paul Thomas <pault@gcc.gnu.org>
159
160 PR fortran/38863
161 * dependency.c (ref_same_as_full_array): New function.
162 (gfc_dep_resolver): Call it.
163
1d146030
JW
1642009-04-06 Janus Weil <janus@gcc.gnu.org>
165
166 PR fortran/39414
167 * decl.c (match_procedure_decl): Fix double declaration problems with
168 PROCEDURE statements.
169 * symbol.c (gfc_add_type): Ditto.
170
59e36b72
PT
1712009-04-06 Paul Thomas <pault@gcc.gnu.org>
172
173 PR fortran/36091
174 * trans-array.c (gfc_conv_array_ref): If the symbol has the
175 temporary attribute use the array_spec for the bounds.
176 * gfortran.h : Add the temporary field to the structure
177 'symbol_attribute'.
178 * trans-stmt.c (forall_make_variable_temp): Set the symbol's
179 temporary attribute.
180
beb64b4a
DF
1812009-04-05 Daniel Franke <franke.daniel@gmail.com>
182
183 PR fortran/29458
184 * trans-array.c (gfc_trans_array_constructor_value): Shadow
185 implied do-loop variable to avoid spurious middle-end warnings.
186
cf7d2eb0
TB
1872009-04-04 Tobias Burnus <burnus@net-b.de>
188
189 PR fortran/39577
190 * trans-decl.c (gfc_generate_function_code): Move recursive
191 check to the right position.
192
6f85546f
PT
1932009-04-04 Paul Thomas <pault@gcc.gnu.org>
194
195 PR fortran/37614
196 * trans-common.c (translate_common): Do not offset the whole
197 coomon block.
198
6f9c9d6d
TB
1992009-04-03 Tobias Burnus <burnus@net-b.de>
200
201 PR fortran/39594
202 * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
203 if it is not a procedure pointer.
204 * primary.c (match_actual_arg): Ditto.
205
47580d22
JM
2062009-03-31 Joseph Myers <joseph@codesourcery.com>
207
208 PR preprocessor/15638
209 * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
210
3759634f
SK
2112009-03-30 Steven G. Kargl <kargls@comcast.net>
212
213 PR fortran/38389
214 * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
215 (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale
216 comments. Minor whitespace cleanup.
217 * resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
218 (resolve_deallocate_expr (gfc_expr *e): Update error message.
219 (resolve_allocate_expr): Remove dead code. Update error message.
220 Move error checking to ...
221 (resolve_allocate_deallocate): ... here. Add additional error
222 checking for STAT, ERRMSG, and allocate-objects.
223 * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG.
224 Check for redundant uses of STAT and ERRMSG. Reword error message
225 and add checking for pointer, allocatable, and proc_pointer attributes.
226
71a7778c
PT
2272009-03-30 Paul Thomas <pault@gcc.gnu.org>
228
229 PR fortran/22571
230 PR fortran/26227
231 PR fortran/24886
232 * symbol.c : Add gfc_global_ns_list.
233 * decl.c (add_global_entry): Set the namespace ('ns') field.
234 * gfortran.h : Add the resolved field to gfc_namespace. Add the
235 namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to
236 gfc_option_t. Add the prototype for gfc_free_dt_list.
237 * lang.opt : Add the whole-file option.
238 * invoke.texi : Document the whole-file option.
239 * resolve.c (resolve_global_procedure): If the fwhole-file
240 option is set, reorder gsymbols to ensure that translation is
241 in the right order. Resolve the gsymbol's namespace if that
242 has not occurred and then check interfaces.
243 (resolve_function): Move call to resolve_global_procedure.
244 (resolve_call): The same.
245 (resolve_codes): Store the current labels_obstack.
246 (gfc_resolve) : Return if the namespace is already resolved.
247 trans-decl.c (gfc_get_extern_function_decl): If the whole_file
248 option is selected, use the backend_decl of a gsymbol, if it is
249 available.
250 parse.c (add_global_procedure, add_global_program): If the flag
251 whole-file is set, add the namespace to the gsymbol.
252 (gfc_parse_file): On -fwhole-file, put procedure namespaces on
253 the global namespace list. Rearrange to do resolution of all
254 the procedures in a file, followed by their translation.
255 * options.c (gfc_init_options): Add -fwhole-file.
256 (gfc_handle_option): The same.
257
f6d53468
UW
2582009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
259
260 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
261 family of intrinsics instead of BUILT_IN_INF family.
262 * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
263 BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
264
665733c1
JJ
2652009-03-30 Jakub Jelinek <jakub@redhat.com>
266
267 * trans-types.c (gfc_sym_type, gfc_return_by_reference): For
268 sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
269
8ce94e44
JM
2702009-03-30 Joseph Myers <joseph@codesourcery.com>
271
272 PR rtl-optimization/323
273 * options.c (gfc_post_options): Set
274 flag_excess_precision_cmdline. Give an error for
275 -fexcess-precision=standard for processors where the option is
276 significant.
277
148e4216
JM
2782009-03-29 Joseph Myers <joseph@codesourcery.com>
279
280 PR preprocessor/34695
281 * cpp.c (cb_cpp_error): New.
282 (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
283 Don't check cpp_errors (cpp_in).
284 (gfc_cpp_init_0): Set cb->error.
285
6bb62671
SK
2862009-03-29 Steven G. Kargl <kargl@gcc.gnu.org>
287
288 PR fortran/38823
289 * gfortran.h: Add ARITH_PROHIBIT to arith enum.
290 expr.c (gfc_match_init_expr): Add global variable init_flag to
291 flag matching an initialization expression.
292 (check_intrinsic_op): Move no longer reachable error message to ...
293 * arith.c (arith_power): ... here. Remove gfc_ prefix in
294 gfc_arith_power. Use init_flag. Allow constant folding of x**y
295 when y is REAL or COMPLEX.
296 (eval_intrinsic): Remove restriction that y in x**y must be INTEGER
297 for constant folding.
298 * gfc_power: Update gfc_arith_power to arith_power
299
b0e5fa94
DK
3002009-03-29 Daniel Kraft <d@domob.eu>
301
302 PR fortran/37423
303 * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and
304 added a comment explaining DEFERRED binding handling.
305 * decl.c (match_binding_attributes): Really match DEFERRED attribute.
306 (match_procedure_in_type): Really match PROCEDURE(interface) syntax
307 and do some validity checks for DEFERRED and this construct.
308 * module.c (binding_overriding): New string constant for DEFERRED.
309 (mio_typebound_proc): Module-IO DEFERRED flag.
310 * resolve.c (check_typebound_override): Ensure that a non-DEFERRED
311 binding is not overridden by a DEFERRED one.
312 (resolve_typebound_procedure): Allow abstract interfaces as targets
313 for DEFERRED bindings.
314 (ensure_not_abstract_walker), (ensure_not_abstract): New methods.
315 (resolve_fl_derived): Use new `ensure_not_abstract' method for
316 non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED
317 binding is overridden.
318 (check_typebound_baseobject): New method.
319 (resolve_compcall), (resolve_typebound_call): Check base-object of
320 the type-bound procedure call.
321 * gfc-internals.texi (Type-bound procedures): Document a little bit
322 about internal handling of DEFERRED bindings.
323
ad41bd84 324