re PR fortran/33197 (Fortran 2008: math functions)
[gcc.git] / gcc / fortran / ChangeLog
1 2009-05-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2
3 PR fortran/33197
4 * intrinsic.c (add_functions): Use ERFC_SCALED simplification.
5 * intrinsic.h (gfc_simplify_erfc_scaled): New prototype.
6 * simplify.c (fullprec_erfc_scaled, asympt_erfc_scaled,
7 gfc_simplify_erfc_scaled): New functions.
8
9 2009-05-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10
11 PR fortran/31243
12 * resolve.c (resolve_substring): Don't allow too large substring
13 indexes.
14 (gfc_resolve_substring_charlen): Fix typo.
15 (gfc_resolve_character_operator): Fix typo.
16 (resolve_charlen): Catch unreasonably large string lengths.
17 * simplify.c (gfc_simplify_len): Don't error out on LEN
18 range checks.
19
20 2009-05-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
21
22 PR fortran/36031
23 * decl.c (set_enum_kind): Use global short-enums flag.
24 * gfortran.h (gfc_option_t): Remove short_enums flag.
25 * lang.opt (-fshort-enums): Refer to C documentation.
26 * options.c (gfc_init_options, gfc_handle_option): Use global
27 short-enums flag.
28
29 2009-05-15 Tobias Burnus <burnus@net-b.de>
30
31 PR fortran/39352
32 * f95-lang.c: Add gfc_maybe_initialize_eh.
33 * gfortran.h: Add gfc_maybe_initialize_eh prototype.
34 * Make-lang.in: Add new .h dendencies for f95-lang.c
35 * openmp.c (resolve_omp_do): Call gfc_maybe_initialize_eh.
36 * misc.c (gfc_free): Avoid #define trickery for free.
37
38 2009-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
39
40 * dump-parse-tree.c (show_code_node): Add ERRMSG to the dumping
41 of allocate and deallocate statements.
42
43 2009-05-14 Ian Lance Taylor <iant@google.com>
44
45 * decl.c (match_attr_spec): Change d to unsigned int.
46 * dump-parse-tree.c (show_namespace): Change op to int. Add cast.
47 * interface.c (gfc_check_interfaces): Change i to int. Add casts.
48 * module.c (read_module): Change i to int. Add cast.
49 (write_module): Change i to int.
50 * symbol.c (gfc_get_namespace): Change in to int.
51 (gfc_free_namespace): Change i to int.
52 * trans-io.c (gfc_build_io_library_fndecls): Change ptype to
53 unsigned int. Add cast.
54 * trans-types.c (gfc_init_kinds): Change mode to unsigned int.
55 Add casts.
56
57 2009-05-14 Daniel Kraft <d@domob.eu>
58
59 PR fortran/40045
60 * dump-parse-tree.c (show_typebound): Fix missing adaption to new
61 type-bound procedure storage structure.
62
63 2009-05-14 Janus Weil <janus@gcc.gnu.org>
64
65 PR fortran/39996
66 * decl.c (gfc_match_function_decl): Use gfc_add_type.
67 * symbol.c (gfc_add_type): Better checking for duplicate types in
68 function declarations. And: Always give an error for duplicte types,
69 not just a warning with -std=gnu.
70
71 2009-05-14 Jakub Jelinek <jakub@redhat.com>
72
73 PR fortran/39865
74 * io.c (resolve_tag_format): CHARACTER array in FMT= argument
75 isn't an extension. Reject non-CHARACTER array element of
76 assumed shape or pointer or assumed size array.
77 * trans-array.c (array_parameter_size): New function.
78 (gfc_conv_array_parameter): Add size argument. Call
79 array_parameter_size if it is non-NULL.
80 * trans-array.h (gfc_conv_array_parameter): Adjust prototype.
81 * trans-expr.c (gfc_conv_function_call, gfc_trans_arrayfunc_assign):
82 Adjust callers.
83 * trans-intrinsic.c (gfc_conv_intrinsic_loc): Likewise.
84 * trans-io.c (gfc_convert_array_to_string): Rewritten.
85
86 2009-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
87
88 * gfortran.h (gfc_code): Rename struct member expr to expr1.
89 * openmp.c (resolve_omp_atomic): Update expr to expr1.
90 * interface.c (gfc_extend_assign): Ditto.
91 * trans-expr.c (gfc_conv_expr_reference, gfc_trans_assignment,
92 gfc_trans_init_assign): Ditto.
93 * dump-parse-tree.c (show_code_node): Ditto.
94 * trans-openmp.c (gfc_trans_omp_atomic): Ditto.
95 * trans-stmt.c ( gfc_trans_label_assign, gfc_trans_goto, gfc_trans_call,
96 gfc_trans_return, gfc_trans_pause, gfc_trans_stop, gfc_trans_if_1,
97 gfc_trans_arithmetic_if, gfc_trans_do_while, gfc_trans_integer_select,
98 gfc_trans_logical_select, gfc_trans_character_select
99 forall_make_variable_temp, check_forall_dependencies
100 gfc_trans_forall_1, gfc_trans_where_2, gfc_trans_where_3
101 gfc_trans_where, gfc_trans_allocate, gfc_trans_deallocate): Ditto.
102 * io.c (match_io_element, gfc_match_inquire): Ditto.
103 * resolve.c (resolve_typebound_call, resolve_ppc_call,
104 resolve_allocate_expr, resolve_allocate_deallocate, resolve_select,
105 resolve_transfer, resolve_where, gfc_resolve_assign_in_forall,
106 gfc_resolve_blocks, resolve_code, build_init_assign): Ditto.
107 * st.c (gfc_free_statement): Ditto.
108 * match.c (gfc_match_assignment, gfc_match_pointer_assignment,
109 match_arithmetic_if, gfc_match_if, gfc_match_elseif
110 gfc_match_stopcode, gfc_match_assign, gfc_match_goto,
111 gfc_match_nullify, match_typebound_call, gfc_match_call
112 gfc_match_select, match_simple_where, gfc_match_where
113 gfc_match_elsewhere, match_simple_forall, gfc_match_forall): Ditto.
114 * trans-io.c (gfc_trans_transfer): Ditto.
115 * parse.c (parse_where_block, parse_if_block): Ditto.
116
117 2009-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
118
119 * gfortran.h (gfc_code): Rename struct member label to label1.
120 * dump-parse-tree.c (show_code_node): Update symbol.
121 * trans-stmt.c (gfc_trans_label_assign, gfc_trans_goto,
122 gfc_trans_arithmetic_if)": Ditto.
123 * resolve.c (gfc_resolve_blocks, resolve_code): Ditto.
124 * match.c (match_arithmetic_if, gfc_match_if, gfc_reference_st_label,
125 gfc_match_assign, gfc_match_goto): Ditto.
126 * parse.c (parse_do_block): Ditto.
127
128 2009-05-13 Tobias Burnus <burnus@net-b.de>
129
130 PR fortran/34153
131 * gfortran.h (gfc_exec_op): Add EXEC_END_PROCEDURE.
132 * dump-parse-tree.c (show_code_node): Use EXEC_END_PROCEDURE.
133 * trans.c (gfc_trans_code): Ditto.
134 * resolve.c (resolve_code): Ditto.
135 * st.c (gfc_free_statement): Ditto.
136 * parse.c (accept_statement): Ditto.
137
138 2009-05-12 Tobias Burnus <burnus@net-b.de>
139
140 PR fortran/40110
141 * decl.c (gfc_match_kind_spec): Turn C kind error into a warning.
142
143 2009-05-11 Steve Ellcey <sje@cup.hp.com>
144
145 * resolve.c (check_host_association): Initialize tail.
146
147 2009-05-11 Janus Weil <janus@gcc.gnu.org>
148
149 PR fortran/40089
150 * resolve.c (resolve_fl_derived): Only return FAILURE if
151 gfc_notify_std fails.
152
153 2009-05-10 Ian Lance Taylor <iant@google.com>
154
155 * gfortran.h (enum gfc_omp_sched_kind): New enum, broken out of
156 gfc_omp_clauses.
157 (enum gfc_omp_default_sharing): Likewise.
158 * module.c (enum gfc_rsym_state): New enum, broken out of
159 pointer_info.
160 (enum gfc_wsym_state): Likewise.
161 * parse.c (enum state_order): New enum, broken out of st_state.
162
163 2009-05-10 Paul Thomas <pault@gcc.gnu.org>
164
165 PR fortran/40018
166 * trans-array.c (gfc_trans_array_constructor_value): Fold
167 convert numeric constants.
168 (gfc_build_constant_array_constructor): The same.
169
170 2009-05-10 Paul Thomas <pault@gcc.gnu.org>
171
172 PR fortran/38863
173 * trans-expr.c (gfc_conv_operator_assign): Remove function.
174 * trans.h : Remove prototype for gfc_conv_operator_assign.
175 * trans-stmt.c (gfc_conv_elemental_dependencies): Initialize
176 derivde types with intent(out).
177 (gfc_trans_call): Add mask, count1 and invert arguments. Add
178 code to use mask for WHERE assignments.
179 (gfc_trans_forall_1): Use new arguments for gfc_trans_call.
180 (gfc_trans_where_assign): The gfc_symbol argument is replaced
181 by the corresponding code. If this has a resolved_sym, then
182 gfc_trans_call is called. The call to gfc_conv_operator_assign
183 is removed.
184 (gfc_trans_where_2): Change the last argument in the call to
185 gfc_trans_where_assign.
186 * trans-stmt.h : Modify prototype for gfc_trans_call.
187 * trans.c (gfc_trans_code): Use new args for gfc_trans_call.
188
189 2009-05-08 Janus Weil <janus@gcc.gnu.org>
190
191 PR fortran/39876
192 * intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if
193 the symbol is a module procedure.
194
195 2009-05-08 Tobias Burnus <burnus@net-b.de>
196
197 * invoke.texi: Add do/recursion to the -fcheck= summary.
198
199 2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
200
201 PR fortran/38830
202 * gfortran.texi: Document that we don't support variable FORMAT
203 expressions.
204
205 2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
206
207 PR fortran/39576
208 * error.c (error_print): Add missing break statement.
209
210 2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
211
212 PR fortran/36382
213 * invoke.texi: Document that -fdollar-ok does not allow $ to be
214 used in IMPLICIT statement.
215
216 2009-05-06 Janus Weil <janus@gcc.gnu.org>
217 Paul Thomas <pault@gcc.gnu.org>
218
219 PR fortran/39630
220 * decl.c (match_procedure_interface): New function to match the
221 interface for a PROCEDURE statement.
222 (match_procedure_decl): Call match_procedure_interface.
223 (match_ppc_decl): New function to match the declaration of a
224 procedure pointer component.
225 (gfc_match_procedure): Call match_ppc_decl.
226 (match_binding_attributes): Add new argument 'ppc' and handle the
227 POINTER attribute for procedure pointer components.
228 (match_procedure_in_type,gfc_match_generic): Added new argument to
229 match_binding_attributes.
230 * dump-parse-tree.c (show_expr,show_components,show_code_node): Handle
231 procedure pointer components.
232 * expr.c (free_expr0,gfc_copy_expr,gfc_simplify_expr): Handle EXPR_PPC.
233 (gfc_check_pointer_assign): Handle procedure pointer components, but no
234 full checking yet.
235 (is_proc_ptr_comp): New function to determine if an expression is a
236 procedure pointer component.
237 * gfortran.h (expr_t): Add EXPR_PPC.
238 (symbol_attribute): Add new member 'proc_pointer_comp'.
239 (gfc_component): Add new member 'formal'.
240 (gfc_exec_op): Add EXEC_CALL_PPC.
241 (gfc_get_default_type): Changed first argument.
242 (is_proc_ptr_comp): Add prototype.
243 (gfc_match_varspec): Add new argument.
244 * interface.c (compare_actual_formal): Handle procedure pointer
245 components.
246 * match.c (gfc_match_pointer_assignment,match_typebound_call): Handle
247 procedure pointer components.
248 * module.c (mio_expr): Handle EXPR_PPC.
249 * parse.c (parse_derived): Handle procedure pointer components.
250 * primary.c (gfc_match_varspec): Add new argument 'ppc_arg' and handle
251 procedure pointer components.
252 (gfc_variable_attr): Handle procedure pointer components.
253 (gfc_match_rvalue): Added new argument to gfc_match_varspec and changed
254 first argument of gfc_get_default_type.
255 (match_variable): Added new argument to gfc_match_varspec.
256 * resolve.c (resolve_entries,set_type,resolve_fl_parameter): Changed
257 first argument of gfc_get_default_type.
258 (resolve_structure_cons,resolve_actual_arglist): Handle procedure
259 pointer components.
260 (resolve_ppc_call): New function to resolve a call to a procedure
261 pointer component (subroutine).
262 (resolve_expr_ppc): New function to resolve a call to a procedure
263 pointer component (function).
264 (gfc_resolve_expr): Handle EXPR_PPC.
265 (resolve_code): Handle EXEC_CALL_PPC.
266 (resolve_fl_derived): Copy the interface for a procedure pointer
267 component.
268 (resolve_symbol): Fix overlong line.
269 * st.c (gfc_free_statement): Handle EXEC_CALL_PPC.
270 * symbol.c (gfc_get_default_type): Changed first argument.
271 (gfc_set_default_type): Changed first argument of gfc_get_default_type.
272 (gfc_add_component): Initialize ts.type to BT_UNKNOWN.
273 * trans.h (gfc_conv_function_call): Renamed.
274 * trans.c (gfc_trans_code): Handle EXEC_CALL_PPC.
275 * trans-expr.c (gfc_conv_component_ref): Ditto.
276 (gfc_conv_function_val): Rename to 'conv_function_val', add new
277 argument 'expr' and handle procedure pointer components.
278 (gfc_conv_operator_assign): Renamed gfc_conv_function_val.
279 (gfc_apply_interface_mapping_to_expr): Handle EXPR_PPC.
280 (gfc_conv_function_call): Rename to 'gfc_conv_procedure_call', add new
281 argument 'expr' and handle procedure pointer components.
282 (gfc_get_proc_ptr_comp): New function to get the backend decl for a
283 procedure pointer component.
284 (gfc_conv_function_expr): Renamed gfc_conv_function_call.
285 (gfc_conv_structure): Handle procedure pointer components.
286 * trans-intrinsic.c (gfc_conv_intrinsic_funcall,
287 conv_generic_with_optional_char_arg): Renamed gfc_conv_function_call.
288 * trans-stmt.h (gfc_get_proc_ptr_comp): Add prototype.
289 * trans-stmt.c (gfc_trans_call): Renamed gfc_conv_function_call.
290 * trans-types.h (gfc_get_ppc_type): Add prototype.
291 * trans-types.c (gfc_get_ppc_type): New function to build a tree node
292 for a procedure pointer component.
293 (gfc_get_derived_type): Handle procedure pointer components.
294
295 2009-05-06 Tobias Burnus <burnus@net-b.de>
296
297 PR fortran/40041
298 * resolve.c (resolve_symbol): Print no warning for implicitly
299 typed intrinsic functions.
300
301 2009-05-05 Janus Weil <janus@gcc.gnu.org>
302
303 PR fortran/39998
304 * expr.c (gfc_check_pointer_assign): Check for statement functions and
305 internal procedures in procedure pointer assignments.
306
307 2009-04-28 Janus Weil <janus@gcc.gnu.org>
308
309 PR fortran/39946
310 * resolve.c (resolve_symbol): Correctly copy the interface of a
311 PROCEDURE statement if the interface involves a RESULT variable.
312
313 2009-04-28 Janus Weil <janus@gcc.gnu.org>
314
315 PR fortran/39930
316 PR fortran/39931
317 * expr.c (gfc_check_pointer_assign): Correctly detect if the left hand
318 side is a pointer.
319 * parse.c (gfc_fixup_sibling_symbols): Don't check for ambiguity.
320
321 2009-04-28 Paul Thomas <pault@gcc.gnu.org>
322
323 PR fortran/39879
324 * trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
325 type parentheses argument if it is a variable with allocatable
326 components.
327
328 2009-04-27 Ian Lance Taylor <iant@google.com>
329
330 * trans-intrinsic.c (DEFINE_MATH_BUILTIN): Add casts to enum
331 type.
332 * trans-io.c (st_parameter_field): Add casts to enum type.
333
334 2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
335
336 PR fortran/39893
337 fortran/data.c (gfc_assign_data_value): If the lvalue is an
338 assumed character length entity in a data statement, then
339 return FAILURE to prevent segmentation fault.
340
341 2009-04-26 Jakub Jelinek <jakub@redhat.com>
342
343 * trans-decl.c: Include pointer-set.h.
344 (nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables.
345 (gfc_nonlocal_dummy_array_decl): New function.
346 (gfc_get_symbol_decl): Call it for non-local dummy args with saved
347 descriptor.
348 (gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed.
349 (gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset},
350 chain it to outermost block's vars, destroy it afterwards.
351 * Make-lang.in (trans-decl.o): Depend on pointer-set.h.
352
353 2009-04-25 Janus Weil <janus@gcc.gnu.org>
354
355 PR fortran/39688
356 * decl.c (gfc_match_import): Use 'sym->name' instead of 'name'.
357 They differ if the symbol has been use-renamed.
358
359 2009-04-24 Ian Lance Taylor <iant@google.com>
360
361 * gfortran.h (enum gfc_symbol_type): New named enum type, broken
362 out of struct gfc_symbol.
363 (struct gfc_symbol): Use enum gfc_symbol_type.
364 (enum gfc_array_ref_dimen_type): New named enum type, broken out
365 of struct gfc_array_ref).
366 (struct gfc_array_ref): Use enum gfc_array_ref_dimen_type.
367 (mod_pointee_as): Update declaration.
368 * decl.c (add_global_entry): Change type to enum gfc_symbol_type.
369 (gfc_mod_pointee_as): Change return type to "match".
370 * module.c (mio_array_ref): Add cast to enum type.
371 (mio_symbol): Likewise.
372 * resolve.c (resolve_global_procedure): Change type to enum
373 gfc_symbol_type.
374 * trans-io.c (gfc_build_st_parameter): Change type to unsigned
375 int.
376
377 2009-04-24 Daniel Kraft <d@domob.eu>
378
379 * gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function.
380 (struct gfc_symtree): Moved `typebound' member inside union.
381 (struct gfc_namespace): Add `tb_sym_root' as new symtree to sort out
382 type-bound procedures there.
383 (gfc_get_tbp_symtree): New procedure.
384 * symbol.c (tentative_tbp_list): New global.
385 (gfc_get_namespace): NULL new `tb_sym_root' member.
386 (gfc_new_symtree): Removed initialization of `typebound' member.
387 (gfc_undo_symbols): Process list of tentative tbp's.
388 (gfc_commit_symbols): Ditto.
389 (free_tb_tree): New method.
390 (gfc_free_namespace): Call it.
391 (gfc_get_typebound_proc): New method.
392 (gfc_get_tbp_symtree): New method.
393 (gfc_find_typebound_proc): Adapt to structural changes of gfc_symtree
394 and gfc_namespace with regards to tbp's.
395 * dump-parse-tree.c (show_typebound): Ditto.
396 * primary.c (gfc_match_varspec): Ditto. Don't reference tbp-symbol
397 as it isn't a symbol any longer.
398 * module.c (mio_typebound_symtree): Adapt to changes.
399 (mio_typebound_proc): Ditto, create symtrees using `gfc_get_tbp_symtree'
400 rather than `gfc_get_sym_tree'.
401 (mio_f2k_derived): Ditto.
402 * decl.c (match_procedure_in_type): Ditto.
403 (gfc_match_generic): Ditto. Don't reference tbp-symbol.
404 * resolve.c (check_typebound_override): Adapt to changes.
405 (resolve_typebound_generic): Ditto.
406 (resolve_typebound_procedures): Ditto.
407 (ensure_not_abstract_walker): Ditto.
408 (ensure_not_abstract): Ditto.
409 (resolve_typebound_procedure): Ditto, ignore erraneous symbols (for
410 instance, through removed tentative ones).
411 * gfc-internals.texi (Type-bound procedures): Document changes.
412
413 2009-04-24 Janus Weil <janus@gcc.gnu.org>
414
415 PR fortran/39861
416 PR fortran/39864
417 * symbol.c (gfc_copy_formal_args_intr): Set attr.flavor and attr.dummy
418 for the formal arguments.
419
420 2009-04-21 Taras Glek <tglek@mozilla.com>
421
422 * f95-lang.c: Update GTY annotations to new syntax.
423 * trans-intrinsic.c: Likewise.
424 * trans-io.c: Likewise.
425 * trans.h: Likewise.
426
427 2009-04-22 Janus Weil <janus@gcc.gnu.org>
428
429 PR fortran/39735
430 * decl.c (add_hidden_procptr_result): Bugfix for procptr results.
431 (match_procedure_decl): Set if_source.
432 * expr.c (gfc_check_pointer_assign): Bugfix: Return after error.
433 And: Check interface also for IFSRC_UNKNOWN (return type may be known).
434 * gfortran.h (typedef enum ifsrc): Remove IFSRC_USAGE,
435 add documentation. Rename copy_formal_args and copy_formal_args_intr.
436 * interface.c (gfc_compare_interfaces): Check for return types,
437 handle IFSRC_UNKNOWN.
438 (compare_intr_interfaces,compare_actual_formal_intr): Obsolete, removed.
439 (gfc_procedure_use): Modified handling of intrinsics.
440 * intrinsic.c (add_functions): Bugfix for "dim".
441 * resolve.c (resolve_intrinsic): New function to resolve intrinsics,
442 which copies the interface from isym to sym.
443 (resolve_procedure_expression,resolve_function): Use new function
444 'resolve_intrinsic'.
445 (resolve_symbol): Add function attribute for externals with return type
446 and use new function 'resolve_intrinsic'.
447 * symbol.c (ifsrc_types): Remove string for IFSRC_USAGE.
448 (copy_formal_args): Renamed to gfc_copy_formal_args.
449 (copy_formal_args_intr): Renamed to gfc_copy_formal_args_intr.
450 * trans-const.c (gfc_conv_const_charlen): Handle cl==NULL.
451
452 2009-04-21 Joseph Myers <joseph@codesourcery.com>
453
454 * ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004,
455 ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008,
456 ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add
457 copyright and license notices.
458 * ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007,
459 ChangeLog-2008: Correct dates.
460
461 2009-04-20 Tobias Burnus <burnus@net-b.de>
462
463 PR fortran/39811
464 * scanner.c (load_line): Fix bogus "&" compile-time diagnostic.
465
466 2009-04-20 Paul Thomas <pault@gcc.gnu.org>
467
468 PR fortran/39800
469 * resolve.c (is_sym_host_assoc): New function.
470 (resolve_fl_derived): Call it when checking PRIVATE components
471 of PUBLIC derived types. Change gfc_error to a gfc_notify_std
472 with std=f2003.
473 (resolve_fl_namelist): Call it twice to check for host
474 association.
475
476 2009-04-20 Ian Lance Taylor <iant@google.com>
477
478 * module.c (import_iso_c_binding_module): Add casts to enum type.
479 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Change op to enum
480 tree_code.
481 (gfc_conv_intrinsic_anyall): Likewise.
482 (gfc_conv_intrinsic_arith): Likewise.
483 (gfc_conv_intrinsic_minmaxloc): Likewise.
484 (gfc_conv_intrinsic_minmaxval): Likewise.
485 (gfc_conv_intrinsic_bitop): Likewise.
486 (gfc_conv_intrinsic_singlebitop): Likewise.
487 (gfc_conv_intrinsic_strcmp): Likewise.
488
489 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
490 Jakub Jelinek <jakub@redhat.com>
491
492 PR fortran/35423
493 * trans.h (OMPWS_WORKSHARE_FLAG, OMPWS_CURR_SINGLEUNIT,
494 OMPWS_SCALARIZER_WS, OMPWS_NOWAIT): Define.
495 (ompws_flags): New extern decl.
496 * trans-array.c (gfc_trans_scalarized_loop_end): Build OMP_FOR
497 for the outer dimension if ompws_flags allow it.
498 * trans.c (gfc_generate_code): Clear ompws_flags.
499 * trans-expr.c (gfc_trans_assignment_1): Allow worksharing
500 array assignments inside of !$omp workshare.
501 * trans-stmt.c (gfc_trans_where_3): Similarly for where statements
502 and constructs.
503 * trans-openmp.c (ompws_flags): New variable.
504 (gfc_trans_omp_workshare): Rewritten.
505
506 2009-04-11 Daniel Kraft <d@domob.eu>
507
508 PR fortran/37746
509 * gfortran.h (struct gfc_charlen): New field `passed_length' to store
510 the actual passed string length for dummy arguments.
511 * trans-decl.c (gfc_create_string_length): Formatting fixes and added
512 assertion, moved a local variable into the innermost block it is needed.
513 (create_function_arglist): Removed TODO about the check being
514 implemented and initialize cl->passed_length here.
515 (add_argument_checking): New method.
516 (gfc_generate_function_code): Call the argument checking method.
517
518 2009-04-11 Janus Weil <janus@gcc.gnu.org>
519
520 PR fortran/39692
521 * symbol.c (check_conflict): Reject procedure pointers for -std=f95.
522
523 2009-04-11 Daniel Franke <franke.daniel@gmail.com>
524
525 * resolve.c (resolve_global_procedure): Enable whole-file checking for
526 procedures that are declared later in the file.
527
528 2009-04-10 Paolo Bonzini <bonzini@gnu.org>
529
530 PR middle-end/39701
531 * trans.c (gfc_allocate_with_status): Fix type mismatches
532 on "pstat == 0".
533
534 2009-04-10 Daniel Franke <franke.daniel@gmail.com>
535
536 PR fortran/38709
537 * expr.c (find_array_section): Leave early on zero-sized arrays.
538
539 2009-04-09 Janus Weil <janus@gcc.gnu.org>
540
541 PR fortran/36704
542 * decl.c (add_hidden_procptr_result): New function for handling
543 procedure pointer return values by adding a hidden result variable.
544 (variable_decl,match_procedure_decl,gfc_match_function_decl,
545 gfc_match_subroutine,gfc_match_end,attr_decl1): Handle procedure pointer
546 return values.
547 * parse.c (parse_interface): Add EXTERNAL attribute only after
548 FUNCTION/SUBROUTINE declaration is complete.
549 * primary.c (replace_hidden_procptr_result): New function for replacing
550 function symbol by hidden result variable.
551 (gfc_match_rvalue,match_variable): Replace symbol by hidden result
552 variable.
553 * resolve.c (resolve_contained_fntype,resolve_function,resolve_variable,
554 resolve_symbol): Allow for procedure pointer function results.
555 (resolve_fl_procedure): Conflict detection moved here from
556 'check_conflict'.
557 * symbol.c (gfc_check_function_type): Allow for procedure pointer
558 function results.
559 (check_conflict): Move some conflict detection to resolution stage.
560 * trans-types.c (gfc_sym_type,gfc_get_function_type): Handle hidden
561 result variables.
562
563 2009-04-08 Jakub Jelinek <jakub@redhat.com>
564
565 * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't
566 contain TYPE_STRING_FLAG types.
567
568 2009-04-08 Janne Blomqvist <jb@gcc.gnu.org>
569
570 PR fortran/39670
571 * invoke.texi (fdollar-ok): Fix typo.
572
573 2009-04-08 Daniel Franke <franke.daniel@gmail.com>
574
575 PR fortran/39670
576 * invoke.texi (fdollar-ok): Clarify limitations.
577
578 2009-04-08 Paul Thomas <pault@gcc.gnu.org>
579
580 PR fortran/38863
581 * trans-array.c (gfc_trans_deferred_array): Return if this
582 is a result variable.
583
584 2009-04-07 Janus Weil <janus@gcc.gnu.org>
585
586 PR fortran/38152
587 * trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for
588 procedure pointer decls.
589
590 2009-04-07 Janus Weil <janus@gcc.gnu.org>
591
592 PR fortran/38290
593 * expr.c (gfc_check_pointer_assign): Enable interface check for
594 procedure pointers.
595 * gfortran.h: Add copy_formal_args_intr.
596 * interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces
597 if second argument is an intrinsic.
598 (compare_intr_interfaces): Correctly set attr.function, attr.subroutine
599 and ts.
600 (compare_parameter): Call gfc_compare_interfaces also for intrinsics.
601 * resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve
602 intrinsic interfaces here. Must happen earlier.
603 (resolve_symbol): Resolution of intrinsic interfaces moved here from
604 resolve_specific_..., and formal args are now copied from intrinsic
605 interfaces.
606 * symbol.c (copy_formal_args_intr): New function to copy the formal
607 arguments from an intinsic procedure.
608
609 2009-04-06 Paul Thomas <pault@gcc.gnu.org>
610
611 PR fortran/38863
612 * dependency.c (ref_same_as_full_array): New function.
613 (gfc_dep_resolver): Call it.
614
615 2009-04-06 Janus Weil <janus@gcc.gnu.org>
616
617 PR fortran/39414
618 * decl.c (match_procedure_decl): Fix double declaration problems with
619 PROCEDURE statements.
620 * symbol.c (gfc_add_type): Ditto.
621
622 2009-04-06 Paul Thomas <pault@gcc.gnu.org>
623
624 PR fortran/36091
625 * trans-array.c (gfc_conv_array_ref): If the symbol has the
626 temporary attribute use the array_spec for the bounds.
627 * gfortran.h : Add the temporary field to the structure
628 'symbol_attribute'.
629 * trans-stmt.c (forall_make_variable_temp): Set the symbol's
630 temporary attribute.
631
632 2009-04-05 Daniel Franke <franke.daniel@gmail.com>
633
634 PR fortran/29458
635 * trans-array.c (gfc_trans_array_constructor_value): Shadow
636 implied do-loop variable to avoid spurious middle-end warnings.
637
638 2009-04-04 Tobias Burnus <burnus@net-b.de>
639
640 PR fortran/39577
641 * trans-decl.c (gfc_generate_function_code): Move recursive
642 check to the right position.
643
644 2009-04-04 Paul Thomas <pault@gcc.gnu.org>
645
646 PR fortran/37614
647 * trans-common.c (translate_common): Do not offset the whole
648 coomon block.
649
650 2009-04-03 Tobias Burnus <burnus@net-b.de>
651
652 PR fortran/39594
653 * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
654 if it is not a procedure pointer.
655 * primary.c (match_actual_arg): Ditto.
656
657 2009-03-31 Joseph Myers <joseph@codesourcery.com>
658
659 PR preprocessor/15638
660 * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
661
662 2009-03-30 Steven G. Kargl <kargls@comcast.net>
663
664 PR fortran/38389
665 * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
666 (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale
667 comments. Minor whitespace cleanup.
668 * resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
669 (resolve_deallocate_expr (gfc_expr *e): Update error message.
670 (resolve_allocate_expr): Remove dead code. Update error message.
671 Move error checking to ...
672 (resolve_allocate_deallocate): ... here. Add additional error
673 checking for STAT, ERRMSG, and allocate-objects.
674 * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG.
675 Check for redundant uses of STAT and ERRMSG. Reword error message
676 and add checking for pointer, allocatable, and proc_pointer attributes.
677
678 2009-03-30 Paul Thomas <pault@gcc.gnu.org>
679
680 PR fortran/22571
681 PR fortran/26227
682 PR fortran/24886
683 * symbol.c : Add gfc_global_ns_list.
684 * decl.c (add_global_entry): Set the namespace ('ns') field.
685 * gfortran.h : Add the resolved field to gfc_namespace. Add the
686 namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to
687 gfc_option_t. Add the prototype for gfc_free_dt_list.
688 * lang.opt : Add the whole-file option.
689 * invoke.texi : Document the whole-file option.
690 * resolve.c (resolve_global_procedure): If the fwhole-file
691 option is set, reorder gsymbols to ensure that translation is
692 in the right order. Resolve the gsymbol's namespace if that
693 has not occurred and then check interfaces.
694 (resolve_function): Move call to resolve_global_procedure.
695 (resolve_call): The same.
696 (resolve_codes): Store the current labels_obstack.
697 (gfc_resolve) : Return if the namespace is already resolved.
698 trans-decl.c (gfc_get_extern_function_decl): If the whole_file
699 option is selected, use the backend_decl of a gsymbol, if it is
700 available.
701 parse.c (add_global_procedure, add_global_program): If the flag
702 whole-file is set, add the namespace to the gsymbol.
703 (gfc_parse_file): On -fwhole-file, put procedure namespaces on
704 the global namespace list. Rearrange to do resolution of all
705 the procedures in a file, followed by their translation.
706 * options.c (gfc_init_options): Add -fwhole-file.
707 (gfc_handle_option): The same.
708
709 2009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
710
711 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
712 family of intrinsics instead of BUILT_IN_INF family.
713 * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
714 BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
715
716 2009-03-30 Jakub Jelinek <jakub@redhat.com>
717
718 * trans-types.c (gfc_sym_type, gfc_return_by_reference): For
719 sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
720
721 2009-03-30 Joseph Myers <joseph@codesourcery.com>
722
723 PR rtl-optimization/323
724 * options.c (gfc_post_options): Set
725 flag_excess_precision_cmdline. Give an error for
726 -fexcess-precision=standard for processors where the option is
727 significant.
728
729 2009-03-29 Joseph Myers <joseph@codesourcery.com>
730
731 PR preprocessor/34695
732 * cpp.c (cb_cpp_error): New.
733 (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
734 Don't check cpp_errors (cpp_in).
735 (gfc_cpp_init_0): Set cb->error.
736
737 2009-03-29 Steven G. Kargl <kargl@gcc.gnu.org>
738
739 PR fortran/38823
740 * gfortran.h: Add ARITH_PROHIBIT to arith enum.
741 expr.c (gfc_match_init_expr): Add global variable init_flag to
742 flag matching an initialization expression.
743 (check_intrinsic_op): Move no longer reachable error message to ...
744 * arith.c (arith_power): ... here. Remove gfc_ prefix in
745 gfc_arith_power. Use init_flag. Allow constant folding of x**y
746 when y is REAL or COMPLEX.
747 (eval_intrinsic): Remove restriction that y in x**y must be INTEGER
748 for constant folding.
749 * gfc_power: Update gfc_arith_power to arith_power
750
751 2009-03-29 Daniel Kraft <d@domob.eu>
752
753 PR fortran/37423
754 * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and
755 added a comment explaining DEFERRED binding handling.
756 * decl.c (match_binding_attributes): Really match DEFERRED attribute.
757 (match_procedure_in_type): Really match PROCEDURE(interface) syntax
758 and do some validity checks for DEFERRED and this construct.
759 * module.c (binding_overriding): New string constant for DEFERRED.
760 (mio_typebound_proc): Module-IO DEFERRED flag.
761 * resolve.c (check_typebound_override): Ensure that a non-DEFERRED
762 binding is not overridden by a DEFERRED one.
763 (resolve_typebound_procedure): Allow abstract interfaces as targets
764 for DEFERRED bindings.
765 (ensure_not_abstract_walker), (ensure_not_abstract): New methods.
766 (resolve_fl_derived): Use new `ensure_not_abstract' method for
767 non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED
768 binding is overridden.
769 (check_typebound_baseobject): New method.
770 (resolve_compcall), (resolve_typebound_call): Check base-object of
771 the type-bound procedure call.
772 * gfc-internals.texi (Type-bound procedures): Document a little bit
773 about internal handling of DEFERRED bindings.
774
775 2009-03-29 Tobias Schlüter <tobi@gcc.gnu.org>
776
777 PR fortran/38507
778 * gfortran.h (gfc_st_label): Fix comment.
779 (gfc_exec_op): Add statement code EXEC_END_BLOCK for end of block.
780 * parse.c (accept_statement): Use EXEC_END_BLOCK for END IF and
781 END SELECT with labels.
782 (check_do_closure): Fix formatting.
783 (parse_do_block): Fix typo in error message.
784 * resolve.c (code_stack): Remove tail member. Update comment to
785 new use of reachable_labels.
786 (reachable_labels): Rename to ...
787 (find_reachable_labels): ... this. Overhaul. Update preceding
788 comment.
789 (resolve_branch): Fix comment preceding function. Rewrite.
790 (resolve_code): Update call to find_reachable_labels. Add code to
791 deal with EXEC_END_BLOCK.
792 * st.c (gfc_free_statement): Add code to deal with EXEC_END_BLOCK.
793 Add 2009 to copyright years.
794 * trans.c (gfc_trans_code): Likewise on both counts.
795
796 2009-03-31 Paul Thomas <pault@gcc.gnu.org>
797
798 PR fortran/38917
799 * expr.c (gfc_check_assign): Allow pointer components when
800 checking for NULL.
801
802 PR fortran/38918
803 * resolve.c (check_data_variable): Treat pointer arrays with
804 scalars.
805
806 2009-03-31 Paul Thomas <pault@gcc.gnu.org>
807
808 PR fortran/38915
809 * trans-expr.c (gfc_trans_assignment_1): Ensure temporaries
810 have a string_length.
811
812 2009-03-28 Tobias Burnus <burnus@net-b.de>
813
814 PR fortran/34656
815 * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do):
816 Add GFC_RTCHECK_DO support.
817 * option.c (gfc_handle_runtime_check_option): Enable GFC_RTCHECK_DO.
818 * invoke.texi (-fcheck): Document "do" option.
819
820 2009-03-28 Paul Thomas <pault@gcc.gnu.org>
821
822 PR fortran/38538
823 * trans-array.c (get_elemental_fcn_charlen): Remove.
824 (get_array_charlen): New function to replace previous.
825
826 2009-03-28 Paul Thomas <pault@gcc.gnu.org>
827
828 PR fortran/38765
829 * parse.c (parse_derived): Do not break on finding pointer,
830 allocatable or private components.
831
832 2009-03-28 Tobias Burnus <burnus@net-b.de>
833
834 PR fortran/32626
835 * option.c (gfc_handle_runtime_check_option): Enable recursion check.
836 * trans-decl.c (gfc_generate_function_code): Add recursion check.
837 * invoke.texi (-fcheck): Add recursive option.
838
839 2009-03-28 Tobias Burnus <burnus@net-b.de>
840
841 PR fortran/38432
842 * resolve.c (gfc_resolve_iterator): Add zero-loop warning.
843
844 2009-03-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
845 Paul Thomas <pault@gcc.gnu.org>
846 Tobias Burnus <burnus@net-b.de>
847
848 * gfortran.h (gfc_option_t): Add rtcheck.
849 * lang.opt: New option -fcheck.
850 * libgfortran.h: Add GFC_RTCHECK_* constants.
851 * invoke.texi: Document -fcheck.
852 * options.c (gfc_handle_runtime_check_option): New function.
853 (gfc_init_options,gfc_post_options,gfc_handle_option):
854 Add -fcheck option.
855
856 2009-03-27 Richard Guenther <rguenther@suse.de>
857
858 * trans-array.c (gfc_conv_descriptor_data_addr): Use
859 gfc_build_addr_expr instead of build_fold_addr_expr.
860 (gfc_trans_allocate_array_storage, gfc_trans_array_constructor_value,
861 gfc_trans_constant_array_constructor, gfc_conv_array_data,
862 gfc_conv_expr_descriptor, gfc_conv_array_parameter): Likewise.
863 * trans-expr.c (gfc_conv_missing_dummy, gfc_conv_variable,
864 gfc_conv_function_val, gfc_conv_operator_assign,
865 gfc_conv_subref_array_arg, gfc_conv_function_call,
866 gfc_conv_expr_reference, gfc_trans_scalar_assign): Likewise.
867 * trans-intrinsic.c (gfc_conv_intrinsic_exponent,
868 gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate,
869 gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax_char,
870 gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_spacing,
871 gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_set_exponent,
872 gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer,
873 gfc_conv_intrinsic_si_kind, gfc_conv_intrinsic_trim): Likewise.
874 * trans-io.c (gfc_trans_io_runtime_check, set_parameter_ref,
875 gfc_convert_array_to_string, gfc_trans_open, gfc_trans_close,
876 build_filepos, gfc_trans_inquire, gfc_trans_wait,
877 nml_get_addr_expr, transfer_namelist_element, build_dt,
878 gfc_trans_dt_end, transfer_array_component, transfer_expr,
879 transfer_array_desc, gfc_trans_transfer): Likewise.
880 * trans-stmt.c (gfc_trans_allocate, gfc_trans_deallocate): Likewise.
881 * trans.c (gfc_build_addr_expr): Mark the base of the address
882 TREE_ADDRESSABLE.
883
884 2009-03-27 Tobias Burnus <burnus@net-b.de>
885
886 * gfortran.h (enum init_local_real.): Add GFC_INIT_REAL_SNAN.
887 (gfc_expr): Add is_snan.
888 * trans-const.c (gfc_conv_mpfr_to_tree): Support SNaN.
889 (gfc_conv_constant_to_tree): Update call to gfc_conv_mpfr_to_tree.
890 * trans-const.h (gfc_conv_mpfr_to_tree): Update prototype.
891 * resolve.c (build_default_init_expr): Update call.
892 * target-memory.c (encode_float): Ditto.
893 * trans-intrinsic.c (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod,
894
895 2009-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
896
897 * lang.opt: Unify help texts for -I, -Wconversion, -d, -fopenmp,
898 and -fpreprocessed.
899
900 2009-03-06 Alexandre Oliva <aoliva@redhat.com>
901
902 * simplify.c (gfc_simplify_transfer): Zero-initialize the
903 buffer.
904
905 2009-02-27 Tobias Burnus <burnus@net-b.de>
906
907 PR fortran/39309
908 * module.c (read_md5_from_module_file): Add missing quote.
909
910 2009-02-27 Tobias Burnus <burnus@net-b.de>
911
912 PR fortran/39309
913 * module.c (read_md5_from_module_file): Include mod version
914 in had-changed test.
915
916 2009-02-26 Paul Thomas <pault@gcc.gnu.org>
917
918 PR fortran/39295
919 * interface.c (compare_type_rank_if): Return 1 if the symbols
920 are the same and deal with external procedures where one is
921 identified to be a function or subroutine by usage but the
922 other is not.
923
924 2009-02-26 Paul Thomas <pault@gcc.gnu.org>
925
926 PR fortran/39292
927 * trans-array.c (gfc_conv_array_initializer): Convert all
928 expressions rather than ICEing.
929
930 2009-02-21 Thomas Koenig <tkoenig@gcc.gnu.org>
931
932 PR fortran/38914
933 * array.c (ref_dimen_size): Rename to gfc_ref_dimen_size,
934 make global. Change function name in error messages.
935 (ref_size): Change ref_dimen_size to gfc_ref_dimen_size.
936 (gfc_array_ref_shape): Likewise.
937 * gfortran.h: Add prototype for gfc_ref_dimen_size.
938 * simplify.c (simplify_bound_dim): Add ref argument.
939 If the reference isn't a full array, return one for
940 the lower bound and the extent for the upper bound.
941 (simplify_bound): For array sections, take as from the
942 argument. Add reference to all to simplify_bound_dim.
943
944 2009-02-19 Daniel Franke <franke.daniel@gmail.com>
945
946 * scanner.c (load_line): At end of line, skip '\r' without setting
947 the truncation flag.
948
949 2009-02-18 Daniel Kraft <d@domob.eu>
950
951 * gfortran.texi: New chapter about compiler characteristics.
952 (Compiler Characteristics): Document KIND type parameters here.
953
954 2009-02-18 Tobias Burnus <burnus@net-b.de>
955
956 * intrinsic.texi (MALLOC): Make example more portable.
957
958 2009-02-13 Mikael Morin <mikael.morin@tele2.fr>
959
960 PR fortran/38259
961 * module.c (gfc_dump_module,gfc_use_module): Add module
962 version number.
963
964 2009-02-13 Paul Thomas <pault@gcc.gnu.org>
965
966 PR fortran/36703
967 PR fortran/36528
968 * trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer
969 function references to ensure that a valid expression is used.
970 (gfc_conv_function_call): Pass Cray pointers to procedures.
971
972 2009-02-03 Jakub Jelinek <jakub@redhat.com>
973
974 * gfortranspec.c (lang_specific_driver): Update copyright notice
975 dates.
976
977 2009-01-28 Paul Thomas <pault@gcc.gnu.org>
978
979 PR fortran/38852
980 PR fortran/39006
981 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
982 descriptor ubound for UBOUND, when the array lbound == 1.
983
984 2009-01-27 Daniel Kraft <d@domob.eu>
985
986 PR fortran/38883
987 * trans-stmt.c (gfc_conv_elemental_dependencies): Create temporary
988 for the real type needed to make it work for subcomponent-references.
989
990 2009-01-21 Daniel Kraft <d@domob.eu>
991
992 * trans-stmt.c (gfc_conv_elemental_dependencies): Cleaned up comment.
993
994 2009-01-20 Paul Thomas <pault@gcc.gnu.org>
995
996 PR fortran/38907
997 * resolve.c (check_host_association): Remove the matching to
998 correct an incorrect host association and use manipulation of
999 the expression instead.
1000
1001 2009-01-20 Tobias Burnus <burnus@net-b.de>
1002
1003 * invoke.texi (RANGE): RANGE also takes INTEGER arguments.
1004
1005 2009-01-19 Mikael Morin <mikael.morin@tele2.fr>
1006
1007 PR fortran/38859
1008 * simplify.c (simplify_bound): Don't use array specification
1009 if variable or component has subsequent references.
1010
1011 2009-01-17 Paul Thomas <pault@gcc.gnu.org>
1012
1013 PR fortran/38657
1014 * module.c (write_common_0): Add argument 'this_module' and
1015 check that non-use associated common blocks are written first.
1016 (write_common): Call write_common_0 twice, once with true and
1017 then with false.
1018
1019 2009-01-17 Paul Thomas <pault@gcc.gnu.org>
1020
1021 PR fortran/34955
1022 * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Has
1023 been absorbed into gfc_conv_intrinsic_transfer. All
1024 references to it in trans-intrinsic.c have been changed
1025 accordingly. PR fixed by using a temporary for scalar
1026 character transfer, when the source is shorter than the
1027 destination.
1028
1029 2009-01-17 Paul Thomas <pault@gcc.gnu.org>
1030
1031 PR fortran/38657
1032 * module.c (write_common_0): Revert patch of 2009-01-05.
1033
1034 2009-01-16 Janus Weil <janus@gcc.gnu.org>
1035
1036 PR fortran/38152
1037 * expr.c (gfc_check_pointer_assign): Allow use-associated procedure
1038 pointers as lvalue.
1039 * trans-decl.c (get_proc_pointer_decl,gfc_create_module_variable):
1040 Enable procedure pointers as module variables.
1041
1042 2009-01-14 Steven G. Kargl <kargl@gcc.gnu.org>
1043
1044 * ChangeLog-2007: Clean out svn merge droppings.
1045
1046 2009-01-10 Paul Thomas <pault@gcc.gnu.org>
1047
1048 PR fortran/38763
1049 * target-memory.c (encode_derived): Encode NULL.
1050
1051 2009-01-10 Paul Thomas <pault@gcc.gnu.org>
1052
1053 PR fortran/38765
1054 * resolve.c (check_host_association): Use the symtree name to
1055 search for a potential contained procedure, since this is the
1056 name by which it would be referenced.
1057
1058 2009-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
1059
1060 PR fortran/38220
1061 * interface.c (gfc_procedure_use): Don't warn about functions
1062 from ISO_C_BINDING.
1063 * symbol.c (generate_isocbinding_symbol): Mark c_loc and
1064 c_funloc as pure.
1065
1066 2009-01-05 Paul Thomas <pault@gcc.gnu.org>
1067
1068 PR fortran/38657
1069 * module.c (write_common_0): Use the name of the symtree rather
1070 than the common block, to determine if the common has been
1071 written.
1072
1073 2009-01-05 Daniel Franke <franke.daniel@gmail.com>
1074
1075 PR fortran/37159
1076 * check.c (gfc_check_random_seed): Added size check for GET
1077 dummy argument, reworded error messages to follow common pattern.
1078
1079 2009-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1080
1081 PR fortran/38672
1082 * trans-types.c (gfc_get_derived_type): Check for the
1083 presence of derived->ns->proc_name before
1084 accessing derived->ns->proc_name->attr.flavor .
1085 * resolve.c (resolve_symbol): Likewise.
1086
1087 2009-01-05 Paul Thomas <pault@gcc.gnu.org>
1088
1089 PR fortran/38665
1090 * gfortran.h : Add bit to gfc_expr 'user_operator'
1091 * interface.c (gfc_extend_expr): Set the above if the operator
1092 is substituted by a function.
1093 * resolve.c (check_host_association): Return if above is set.
1094
1095 2009-01-04 Mikael Morin <mikael.morin@tele2.fr>
1096
1097 PR fortran/35681
1098 * ChangeLog-2008: Fix function name.
1099
1100 PR fortran/38487
1101 * dependency.c (gfc_check_argument_var_dependency):
1102 Move the check for pointerness inside the if block
1103 so that it doesn't affect the return value.
1104
1105 PR fortran/38669
1106 * trans-stmt.c (gfc_trans_call):
1107 Add the dependency code after the loop bounds calculation one.
1108
1109 2009-01-04 Daniel Franke <franke.daniel@gmail.com>
1110
1111 * intrinsic.c (do_simplify): Removed already implemented TODO.
1112
1113 2009-01-04 Daniel Franke <franke.daniel@gmail.com>
1114
1115 PR fortran/38718
1116 * simplify.c (gfc_simplify_merge): New.
1117 * intrinsic.h (gfc_simplify_merge): New prototype.
1118 * intrinsic.c (add_functions): Added simplification for MERGE.
1119
1120 2009-01-04 Mikael Morin <mikael.morin@tele2.fr>
1121
1122 PR fortran/38536
1123 * gfortran.h (gfc_is_data_pointer): Added prototype
1124 * resolve.c (gfc_iso_c_func_interface):
1125 Use gfc_is_data_pointer to test for pointer attribute.
1126 * dependency.c (gfc_is_data_pointer):
1127 Support pointer-returning functions.
1128
1129 2009-01-03 Daniel Franke <franke.daniel@gmail.com>
1130
1131 * symbol.c (save_symbol): Don't SAVE function results.
1132
1133 2009-01-03 Paul Thomas <pault@gcc.gnu.org>
1134
1135 PR fortran/38594
1136 * resolve.c (resolve_call): When searching for proper host
1137 association, use symtree rather than symbol. For everything
1138 except generic subroutines, substitute the symtree in the call
1139 rather than the symbol.
1140
1141 \f
1142 Copyright (C) 2009 Free Software Foundation, Inc.
1143
1144 Copying and distribution of this file, with or without modification,
1145 are permitted in any medium without royalty provided the copyright
1146 notice and this notice are preserved.