OSDN Git Service

4b053706484e5a9d74ed95b5e245c3a6ccd3e65a
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2009-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
6 2009-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
30 2009-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
35 2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>
36
37         PR fortran/39670
38         * invoke.texi (fdollar-ok): Fix typo.
39         
40 2009-04-08  Daniel Franke  <franke.daniel@gmail.com>
41
42         PR fortran/39670
43         * invoke.texi (fdollar-ok): Clarify limitations.
44
45 2009-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
51 2009-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
57 2009-04-07  Janus Weil  <janus@gcc.gnu.org>
58
59         PR fortran/38290
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
76 2009-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
82 2009-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
89 2009-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
99 2009-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
105 2009-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
111 2009-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
117 2009-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
124 2009-03-31  Joseph Myers  <joseph@codesourcery.com>
125
126         PR preprocessor/15638
127         * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
128
129 2009-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
145 2009-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
176 2009-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
183 2009-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
188 2009-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
196 2009-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
204 2009-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
218 2009-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
242 2008-03-29  Tobias Schl├╝ter  <tobi@gcc.gnu.org>
243
244         PR fortran/38507
245         * gfortran.h (gfc_st_label): Fix comment.
246         (gfc_exec_op): Add statement code EXEC_END_BLOCK for end of block.
247         * parse.c (accept_statement): Use EXEC_END_BLOCK for END IF and
248         END SELECT with labels.
249         (check_do_closure): Fix formatting.
250         (parse_do_block): Fix typo in error message.
251         * resolve.c (code_stack): Remove tail member.  Update comment to
252         new use of reachable_labels.
253         (reachable_labels): Rename to ...
254         (find_reachable_labels): ... this.  Overhaul.  Update preceding
255         comment.
256         (resolve_branch): Fix comment preceding function.  Rewrite.
257         (resolve_code): Update call to find_reachable_labels.  Add code to
258         deal with EXEC_END_BLOCK.
259         * st.c (gfc_free_statement): Add code to deal with EXEC_END_BLOCK.
260         Add 2009 to copyright years.
261         * trans.c (gfc_trans_code): Likewise on both counts.
262
263 2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
264
265         PR fortran/38917
266         * expr.c (gfc_check_assign): Allow pointer components when
267         checking for NULL.
268
269         PR fortran/38918
270         * resolve.c (check_data_variable): Treat pointer arrays with
271         scalars.
272
273 2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
274
275         PR fortran/38915
276         * trans-expr.c (gfc_trans_assignment_1): Ensure temporaries
277         have a string_length.
278
279 2009-03-28  Tobias Burnus  <burnus@net-b.de>
280
281         PR fortran/34656
282         * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do):
283         Add GFC_RTCHECK_DO support.
284         * option.c (gfc_handle_runtime_check_option): Enable GFC_RTCHECK_DO.
285         * invoke.texi (-fcheck): Document "do" option.
286
287 2009-03-28  Paul Thomas  <pault@gcc.gnu.org>
288
289         PR fortran/38538
290         * trans-array.c (get_elemental_fcn_charlen): Remove.
291         (get_array_charlen): New function to replace previous.
292
293 2009-03-28  Paul Thomas  <pault@gcc.gnu.org>
294
295         PR fortran/38765
296         * parse.c (parse_derived): Do not break on finding pointer,
297         allocatable or private components.
298
299 2009-03-28  Tobias Burnus  <burnus@net-b.de>
300
301         PR fortran/32626
302         * option.c (gfc_handle_runtime_check_option): Enable recursion check.
303         * trans-decl.c (gfc_generate_function_code): Add recursion check.
304         * invoke.texi (-fcheck): Add recursive option.
305
306 2009-03-28  Tobias Burnus  <burnus@net-b.de>
307
308         PR fortran/38432
309         * resolve.c (gfc_resolve_iterator): Add zero-loop warning.
310
311 2009-03-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
312             Paul Thomas  <pault@gcc.gnu.org>
313             Tobias Burnus  <burnus@net-b.de>
314
315         * gfortran.h (gfc_option_t): Add rtcheck.
316         * lang.opt: New option -fcheck.
317         * libgfortran.h: Add GFC_RTCHECK_* constants.
318         * invoke.texi: Document -fcheck.
319         * options.c (gfc_handle_runtime_check_option): New function.
320         (gfc_init_options,gfc_post_options,gfc_handle_option):
321         Add -fcheck option.
322
323 2009-03-27  Richard Guenther  <rguenther@suse.de>
324
325         * trans-array.c (gfc_conv_descriptor_data_addr): Use
326         gfc_build_addr_expr instead of build_fold_addr_expr.
327         (gfc_trans_allocate_array_storage, gfc_trans_array_constructor_value,
328         gfc_trans_constant_array_constructor, gfc_conv_array_data,
329         gfc_conv_expr_descriptor, gfc_conv_array_parameter): Likewise.
330         * trans-expr.c (gfc_conv_missing_dummy, gfc_conv_variable,
331         gfc_conv_function_val, gfc_conv_operator_assign,
332         gfc_conv_subref_array_arg, gfc_conv_function_call,
333         gfc_conv_expr_reference, gfc_trans_scalar_assign): Likewise.
334         * trans-intrinsic.c (gfc_conv_intrinsic_exponent,
335         gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate,
336         gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax_char,
337         gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_spacing,
338         gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_set_exponent,
339         gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer,
340         gfc_conv_intrinsic_si_kind, gfc_conv_intrinsic_trim): Likewise.
341         * trans-io.c (gfc_trans_io_runtime_check, set_parameter_ref,
342         gfc_convert_array_to_string, gfc_trans_open, gfc_trans_close,
343         build_filepos, gfc_trans_inquire, gfc_trans_wait,
344         nml_get_addr_expr, transfer_namelist_element, build_dt,
345         gfc_trans_dt_end, transfer_array_component, transfer_expr,
346         transfer_array_desc, gfc_trans_transfer): Likewise.
347         * trans-stmt.c (gfc_trans_allocate, gfc_trans_deallocate): Likewise.
348         * trans.c (gfc_build_addr_expr): Mark the base of the address
349         TREE_ADDRESSABLE.
350
351 2009-03-27  Tobias Burnus  <burnus@net-b.de>
352
353         * gfortran.h (enum init_local_real.): Add GFC_INIT_REAL_SNAN.
354         (gfc_expr): Add is_snan.
355         * trans-const.c (gfc_conv_mpfr_to_tree): Support SNaN.
356         (gfc_conv_constant_to_tree): Update call to gfc_conv_mpfr_to_tree.
357         * trans-const.h (gfc_conv_mpfr_to_tree): Update prototype.
358         * resolve.c (build_default_init_expr): Update call.
359         * target-memory.c (encode_float): Ditto.
360         * trans-intrinsic.c (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod,
361
362 2009-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
363
364         * lang.opt: Unify help texts for -I, -Wconversion, -d, -fopenmp,
365         and -fpreprocessed.
366
367 2009-03-06  Alexandre Oliva <aoliva@redhat.com>
368
369         * simplify.c (gfc_simplify_transfer): Zero-initialize the
370         buffer.
371
372 2009-02-27  Tobias Burnus  <burnus@net-b.de>
373
374         PR fortran/39309
375         * module.c (read_md5_from_module_file): Add missing quote.
376
377 2009-02-27  Tobias Burnus  <burnus@net-b.de>
378
379         PR fortran/39309
380         * module.c (read_md5_from_module_file): Include mod version
381         in had-changed test.
382
383 2009-02-26  Paul Thomas  <pault@gcc.gnu.org>
384
385         PR fortran/39295
386         * interface.c (compare_type_rank_if): Return 1 if the symbols
387         are the same and deal with external procedures where one is
388         identified to be a function or subroutine by usage but the
389         other is not.
390
391 2009-02-26  Paul Thomas  <pault@gcc.gnu.org>
392
393         PR fortran/39292
394         * trans-array.c (gfc_conv_array_initializer): Convert all
395         expressions rather than ICEing.
396
397 2009-02-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
398
399         PR fortran/38914
400         * array.c (ref_dimen_size):  Rename to gfc_ref_dimen_size,
401         make global.  Change function name in error messages.
402         (ref_size):  Change ref_dimen_size to gfc_ref_dimen_size.
403         (gfc_array_ref_shape):  Likewise.
404         * gfortran.h:  Add prototype for gfc_ref_dimen_size.
405         * simplify.c (simplify_bound_dim):  Add ref argument.
406         If the reference isn't a full array, return one for
407         the lower bound and the extent for the upper bound.
408         (simplify_bound):  For array sections, take as from the
409         argument.  Add reference to all to simplify_bound_dim.
410
411 2009-02-19  Daniel Franke  <franke.daniel@gmail.com>
412
413         * scanner.c (load_line): At end of line, skip '\r' without setting
414         the truncation flag.
415
416 2009-02-18  Daniel Kraft  <d@domob.eu>
417
418         * gfortran.texi: New chapter about compiler characteristics.
419         (Compiler Characteristics): Document KIND type parameters here.
420
421 2009-02-18  Tobias Burnus  <burnus@net-b.de>
422
423         * intrinsic.texi (MALLOC): Make example more portable.
424
425 2009-02-13  Mikael Morin  <mikael.morin@tele2.fr>
426
427         PR fortran/38259
428         * module.c (gfc_dump_module,gfc_use_module): Add module
429         version number.
430
431 2009-02-13  Paul Thomas  <pault@gcc.gnu.org>
432
433         PR fortran/36703
434         PR fortran/36528
435         * trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer
436         function references to ensure that a valid expression is used.
437         (gfc_conv_function_call): Pass Cray pointers to procedures.
438
439 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
440
441         * gfortranspec.c (lang_specific_driver): Update copyright notice
442         dates.
443
444 2009-01-28  Paul Thomas  <pault@gcc.gnu.org>
445
446         PR fortran/38852
447         PR fortran/39006
448         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
449         descriptor ubound for UBOUND, when the array lbound == 1.
450
451 2009-01-27  Daniel Kraft  <d@domob.eu>
452
453         PR fortran/38883
454         * trans-stmt.c (gfc_conv_elemental_dependencies):  Create temporary
455         for the real type needed to make it work for subcomponent-references.
456
457 2009-01-21  Daniel Kraft  <d@domob.eu>
458
459         * trans-stmt.c (gfc_conv_elemental_dependencies):  Cleaned up comment.
460
461 2009-01-20  Paul Thomas  <pault@gcc.gnu.org>
462
463         PR fortran/38907
464         * resolve.c (check_host_association): Remove the matching to
465         correct an incorrect host association and use manipulation of
466         the expression instead.
467
468 2009-01-20  Tobias Burnus  <burnus@net-b.de>
469
470         * invoke.texi (RANGE): RANGE also takes INTEGER arguments.
471
472 2009-01-19  Mikael Morin  <mikael.morin@tele2.fr>
473
474         PR fortran/38859
475         * simplify.c (simplify_bound): Don't use array specification
476         if variable or component has subsequent references.
477
478 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
479
480         PR fortran/38657
481         * module.c (write_common_0): Add argument 'this_module' and
482         check that non-use associated common blocks are written first.
483         (write_common): Call write_common_0 twice, once with true and
484         then with false.
485
486 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
487
488         PR fortran/34955
489         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Has
490         been absorbed into gfc_conv_intrinsic_transfer. All
491         references to it in trans-intrinsic.c have been changed
492         accordingly.  PR fixed by using a temporary for scalar
493         character transfer, when the source is shorter than the
494         destination.
495
496 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
497
498         PR fortran/38657
499         * module.c (write_common_0): Revert patch of 2009-01-05.
500
501 2009-01-16  Janus Weil  <janus@gcc.gnu.org>
502
503         PR fortran/38152
504         * expr.c (gfc_check_pointer_assign): Allow use-associated procedure
505         pointers as lvalue.
506         * trans-decl.c (get_proc_pointer_decl,gfc_create_module_variable):
507         Enable procedure pointers as module variables.
508
509 2009-01-14  Steven G. Kargl  <kargl@gcc.gnu.org>
510
511         * ChangeLog-2007: Clean out svn merge droppings.
512
513 2009-01-10  Paul Thomas  <pault@gcc.gnu.org>
514
515         PR fortran/38763
516         * target-memory.c (encode_derived): Encode NULL.
517
518 2009-01-10  Paul Thomas  <pault@gcc.gnu.org>
519
520         PR fortran/38765
521         * resolve.c (check_host_association): Use the symtree name to
522         search for a potential contained procedure, since this is the
523         name by which it would be referenced.
524
525 2009-01-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
526
527         PR fortran/38220
528         * interface.c (gfc_procedure_use):  Don't warn about functions
529         from ISO_C_BINDING.
530         * symbol.c (generate_isocbinding_symbol):  Mark c_loc and
531         c_funloc as pure.
532
533 2009-01-05  Paul Thomas  <pault@gcc.gnu.org>
534
535         PR fortran/38657
536         * module.c (write_common_0): Use the name of the symtree rather
537         than the common block, to determine if the common has been
538         written.
539
540 2009-01-05  Daniel Franke  <franke.daniel@gmail.com>
541
542         PR fortran/37159
543         * check.c (gfc_check_random_seed): Added size check for GET
544         dummy argument, reworded error messages to follow common pattern.
545
546 2009-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
547
548         PR fortran/38672
549         * trans-types.c (gfc_get_derived_type):  Check for the
550         presence of derived->ns->proc_name before
551         accessing derived->ns->proc_name->attr.flavor .
552         * resolve.c (resolve_symbol):  Likewise.
553
554 2009-01-05  Paul Thomas  <pault@gcc.gnu.org>
555
556         PR fortran/38665
557         * gfortran.h : Add bit to gfc_expr 'user_operator'
558         * interface.c (gfc_extend_expr): Set the above if the operator
559         is substituted by a function. 
560         * resolve.c (check_host_association): Return if above is set.
561
562 2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>
563
564         PR fortran/35681
565         * ChangeLog-2008: Fix function name.
566
567         PR fortran/38487
568         * dependency.c (gfc_check_argument_var_dependency):
569         Move the check for pointerness inside the if block
570         so that it doesn't affect the return value.
571
572         PR fortran/38669
573         * trans-stmt.c (gfc_trans_call):
574         Add the dependency code after the loop bounds calculation one.
575
576 2009-01-04  Daniel Franke  <franke.daniel@gmail.com>
577
578         * intrinsic.c (do_simplify): Removed already implemented TODO.
579
580 2009-01-04  Daniel Franke  <franke.daniel@gmail.com>
581
582         PR fortran/38718
583         * simplify.c (gfc_simplify_merge): New.
584         * intrinsic.h (gfc_simplify_merge): New prototype.
585         * intrinsic.c (add_functions): Added simplification for MERGE.
586
587 2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>
588
589         PR fortran/38536
590         * gfortran.h (gfc_is_data_pointer): Added prototype
591         * resolve.c (gfc_iso_c_func_interface):
592         Use gfc_is_data_pointer to test for pointer attribute.
593         * dependency.c (gfc_is_data_pointer):
594         Support pointer-returning functions.
595
596 2009-01-03  Daniel Franke  <franke.daniel@gmail.com>
597
598         * symbol.c (save_symbol): Don't SAVE function results.
599
600 2009-01-03  Paul Thomas  <pault@gcc.gnu.org>
601
602         PR fortran/38594
603         * resolve.c (resolve_call): When searching for proper host
604         association, use symtree rather than symbol.  For everything
605         except generic subroutines, substitute the symtree in the call
606         rather than the symbol.