OSDN Git Service

9ecdf7272bdb4a80b904856b9e5f65fb096210b4
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2009-04-11  Daniel Franke  <frake.daniel@gmail.com>
2
3         * resolve.c (resolve_global_procedure): Enable whole-file checking for
4         procedures that are declared later in the file.
5         
6 2009-04-10  Paolo Bonzini  <bonzini@gnu.org>
7
8         PR middle-end/39701
9         * trans.c (gfc_allocate_with_status): Fix type mismatches
10         on "pstat == 0".
11
12 2009-04-10  Daniel Franke  <franke.daniel@gmail.com>
13
14         PR fortran/38709
15         * expr.c (find_array_section): Leave early on zero-sized arrays.
16
17 2009-04-09  Janus Weil  <janus@gcc.gnu.org>
18
19         PR fortran/36704
20         * decl.c (add_hidden_procptr_result): New function for handling
21         procedure pointer return values by adding a hidden result variable.
22         (variable_decl,match_procedure_decl,gfc_match_function_decl,
23         gfc_match_subroutine,gfc_match_end,attr_decl1): Handle procedure pointer
24         return values.
25         * parse.c (parse_interface): Add EXTERNAL attribute only after
26         FUNCTION/SUBROUTINE declaration is complete.
27         * primary.c (replace_hidden_procptr_result): New function for replacing
28         function symbol by hidden result variable.
29         (gfc_match_rvalue,match_variable): Replace symbol by hidden result
30         variable.
31         * resolve.c (resolve_contained_fntype,resolve_function,resolve_variable,
32         resolve_symbol): Allow for procedure pointer function results.
33         (resolve_fl_procedure): Conflict detection moved here from
34         'check_conflict'.
35         * symbol.c (gfc_check_function_type): Allow for procedure pointer
36         function results.
37         (check_conflict): Move some conflict detection to resolution stage.
38         * trans-types.c (gfc_sym_type,gfc_get_function_type): Handle hidden
39         result variables.
40
41 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
42
43         * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't
44         contain TYPE_STRING_FLAG types.
45
46 2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>
47
48         PR fortran/39670
49         * invoke.texi (fdollar-ok): Fix typo.
50         
51 2009-04-08  Daniel Franke  <franke.daniel@gmail.com>
52
53         PR fortran/39670
54         * invoke.texi (fdollar-ok): Clarify limitations.
55
56 2009-04-08  Paul Thomas  <pault@gcc.gnu.org>
57
58         PR fortran/38863
59         * trans-array.c (gfc_trans_deferred_array): Return if this
60         is a result variable.
61
62 2009-04-07  Janus Weil  <janus@gcc.gnu.org>
63
64         PR fortran/38152
65         * trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for
66         procedure pointer decls.
67
68 2009-04-07  Janus Weil  <janus@gcc.gnu.org>
69
70         PR fortran/38290
71         * expr.c (gfc_check_pointer_assign): Enable interface check for
72         procedure pointers.
73         * gfortran.h: Add copy_formal_args_intr.
74         * interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces
75         if second argument is an intrinsic.
76         (compare_intr_interfaces): Correctly set attr.function, attr.subroutine
77         and ts.
78         (compare_parameter): Call gfc_compare_interfaces also for intrinsics.
79         * resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve
80         intrinsic interfaces here. Must happen earlier.
81         (resolve_symbol): Resolution of intrinsic interfaces moved here from
82         resolve_specific_..., and formal args are now copied from intrinsic
83         interfaces.
84         * symbol.c (copy_formal_args_intr): New function to copy the formal
85         arguments from an intinsic procedure.
86
87 2009-04-06  Paul Thomas  <pault@gcc.gnu.org>
88
89         PR fortran/38863
90         * dependency.c (ref_same_as_full_array): New function.
91         (gfc_dep_resolver): Call it.
92
93 2009-04-06  Janus Weil  <janus@gcc.gnu.org>
94
95        PR fortran/39414
96        * decl.c (match_procedure_decl): Fix double declaration problems with
97        PROCEDURE statements.
98        * symbol.c (gfc_add_type): Ditto.
99
100 2009-04-06  Paul Thomas  <pault@gcc.gnu.org>
101
102         PR fortran/36091
103         * trans-array.c (gfc_conv_array_ref): If the symbol has the
104         temporary attribute use the array_spec for the bounds.
105         * gfortran.h : Add the temporary field to the structure
106         'symbol_attribute'.
107         * trans-stmt.c (forall_make_variable_temp): Set the symbol's
108         temporary attribute.
109
110 2009-04-05  Daniel Franke  <franke.daniel@gmail.com>
111
112         PR fortran/29458
113         * trans-array.c (gfc_trans_array_constructor_value): Shadow
114         implied do-loop variable to avoid spurious middle-end warnings.
115
116 2009-04-04  Tobias Burnus  <burnus@net-b.de>
117
118         PR fortran/39577
119         * trans-decl.c (gfc_generate_function_code): Move recursive
120         check to the right position.
121
122 2009-04-04  Paul Thomas  <pault@gcc.gnu.org>
123
124         PR fortran/37614
125         * trans-common.c (translate_common): Do not offset the whole
126         coomon block.
127
128 2009-04-03  Tobias Burnus  <burnus@net-b.de>
129
130         PR fortran/39594
131         * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
132         if it is not a procedure pointer.
133         * primary.c (match_actual_arg): Ditto.
134
135 2009-03-31  Joseph Myers  <joseph@codesourcery.com>
136
137         PR preprocessor/15638
138         * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
139
140 2009-03-30  Steven G. Kargl  <kargls@comcast.net>
141
142         PR fortran/38389
143         * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
144         (gfc_trans_deallocate): Add translation of ERRMSG.  Remove stale
145         comments.  Minor whitespace cleanup.
146         * resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
147         (resolve_deallocate_expr (gfc_expr *e): Update error message.
148         (resolve_allocate_expr):  Remove dead code.  Update error message.
149         Move error checking to ...
150         (resolve_allocate_deallocate): ... here.  Add additional error
151         checking for STAT, ERRMSG, and allocate-objects.
152         * match.c(gfc_match_allocate,gfc_match_deallocate):  Parse ERRMSG.
153         Check for redundant uses of STAT and ERRMSG.  Reword error message
154         and add checking for pointer, allocatable, and proc_pointer attributes.
155
156 2009-03-30  Paul Thomas  <pault@gcc.gnu.org>
157
158         PR fortran/22571
159         PR fortran/26227
160         PR fortran/24886
161         * symbol.c : Add gfc_global_ns_list.
162         * decl.c (add_global_entry): Set the namespace ('ns') field.
163         * gfortran.h : Add the resolved field to gfc_namespace. Add the
164         namespace ('ns') field to gfc_gsymbol.  Add flag_whole_file to
165         gfc_option_t.  Add the prototype for gfc_free_dt_list.
166         * lang.opt : Add the whole-file option.
167         * invoke.texi : Document the whole-file option.
168         * resolve.c (resolve_global_procedure): If the fwhole-file
169         option is set, reorder gsymbols to ensure that translation is
170         in the right order.  Resolve the gsymbol's namespace if that
171         has not occurred and then check interfaces.
172         (resolve_function): Move call to resolve_global_procedure.
173         (resolve_call): The same.
174         (resolve_codes): Store the current labels_obstack.
175         (gfc_resolve) : Return if the namespace is already resolved.
176         trans-decl.c (gfc_get_extern_function_decl): If the whole_file
177         option is selected, use the backend_decl of a gsymbol, if it is
178         available.
179         parse.c (add_global_procedure, add_global_program): If the flag
180         whole-file is set, add the namespace to the gsymbol.
181         (gfc_parse_file): On -fwhole-file, put procedure namespaces on
182         the global namespace list.  Rearrange to do resolution of all
183         the procedures in a file, followed by their translation.
184         * options.c (gfc_init_options): Add -fwhole-file.
185         (gfc_handle_option): The same.
186
187 2009-03-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
188
189         * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
190         family of intrinsics instead of BUILT_IN_INF family.
191         * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
192         BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
193
194 2009-03-30  Jakub Jelinek  <jakub@redhat.com>
195
196         * trans-types.c (gfc_sym_type, gfc_return_by_reference): For
197         sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
198
199 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
200
201         PR rtl-optimization/323
202         * options.c (gfc_post_options): Set
203         flag_excess_precision_cmdline.  Give an error for
204         -fexcess-precision=standard for processors where the option is
205         significant.
206
207 2009-03-29  Joseph Myers  <joseph@codesourcery.com>
208
209         PR preprocessor/34695
210         * cpp.c (cb_cpp_error): New.
211         (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
212         Don't check cpp_errors (cpp_in).
213         (gfc_cpp_init_0): Set cb->error.
214
215 2009-03-29  Steven G. Kargl  <kargl@gcc.gnu.org>
216
217         PR fortran/38823
218         * gfortran.h: Add ARITH_PROHIBIT to arith enum.
219         expr.c (gfc_match_init_expr): Add global variable init_flag to
220         flag matching an initialization expression.
221         (check_intrinsic_op): Move no longer reachable error message to ...
222         * arith.c (arith_power): ... here.  Remove gfc_ prefix in
223         gfc_arith_power.  Use init_flag.  Allow constant folding of x**y
224         when y is REAL or COMPLEX.
225         (eval_intrinsic): Remove restriction that y in x**y must be INTEGER
226         for constant folding.
227         * gfc_power: Update gfc_arith_power to arith_power
228
229 2009-03-29  Daniel Kraft  <d@domob.eu>
230
231         PR fortran/37423
232         * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and
233         added a comment explaining DEFERRED binding handling.
234         * decl.c (match_binding_attributes): Really match DEFERRED attribute.
235         (match_procedure_in_type): Really match PROCEDURE(interface) syntax
236         and do some validity checks for DEFERRED and this construct.
237         * module.c (binding_overriding): New string constant for DEFERRED.
238         (mio_typebound_proc): Module-IO DEFERRED flag.
239         * resolve.c (check_typebound_override): Ensure that a non-DEFERRED
240         binding is not overridden by a DEFERRED one.
241         (resolve_typebound_procedure): Allow abstract interfaces as targets
242         for DEFERRED bindings.
243         (ensure_not_abstract_walker), (ensure_not_abstract): New methods.
244         (resolve_fl_derived): Use new `ensure_not_abstract' method for
245         non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED
246         binding is overridden.
247         (check_typebound_baseobject): New method.
248         (resolve_compcall), (resolve_typebound_call): Check base-object of
249         the type-bound procedure call.
250         * gfc-internals.texi (Type-bound procedures): Document a little bit
251         about internal handling of DEFERRED bindings.
252
253 2008-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
254
255         PR fortran/38507
256         * gfortran.h (gfc_st_label): Fix comment.
257         (gfc_exec_op): Add statement code EXEC_END_BLOCK for end of block.
258         * parse.c (accept_statement): Use EXEC_END_BLOCK for END IF and
259         END SELECT with labels.
260         (check_do_closure): Fix formatting.
261         (parse_do_block): Fix typo in error message.
262         * resolve.c (code_stack): Remove tail member.  Update comment to
263         new use of reachable_labels.
264         (reachable_labels): Rename to ...
265         (find_reachable_labels): ... this.  Overhaul.  Update preceding
266         comment.
267         (resolve_branch): Fix comment preceding function.  Rewrite.
268         (resolve_code): Update call to find_reachable_labels.  Add code to
269         deal with EXEC_END_BLOCK.
270         * st.c (gfc_free_statement): Add code to deal with EXEC_END_BLOCK.
271         Add 2009 to copyright years.
272         * trans.c (gfc_trans_code): Likewise on both counts.
273
274 2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
275
276         PR fortran/38917
277         * expr.c (gfc_check_assign): Allow pointer components when
278         checking for NULL.
279
280         PR fortran/38918
281         * resolve.c (check_data_variable): Treat pointer arrays with
282         scalars.
283
284 2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
285
286         PR fortran/38915
287         * trans-expr.c (gfc_trans_assignment_1): Ensure temporaries
288         have a string_length.
289
290 2009-03-28  Tobias Burnus  <burnus@net-b.de>
291
292         PR fortran/34656
293         * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do):
294         Add GFC_RTCHECK_DO support.
295         * option.c (gfc_handle_runtime_check_option): Enable GFC_RTCHECK_DO.
296         * invoke.texi (-fcheck): Document "do" option.
297
298 2009-03-28  Paul Thomas  <pault@gcc.gnu.org>
299
300         PR fortran/38538
301         * trans-array.c (get_elemental_fcn_charlen): Remove.
302         (get_array_charlen): New function to replace previous.
303
304 2009-03-28  Paul Thomas  <pault@gcc.gnu.org>
305
306         PR fortran/38765
307         * parse.c (parse_derived): Do not break on finding pointer,
308         allocatable or private components.
309
310 2009-03-28  Tobias Burnus  <burnus@net-b.de>
311
312         PR fortran/32626
313         * option.c (gfc_handle_runtime_check_option): Enable recursion check.
314         * trans-decl.c (gfc_generate_function_code): Add recursion check.
315         * invoke.texi (-fcheck): Add recursive option.
316
317 2009-03-28  Tobias Burnus  <burnus@net-b.de>
318
319         PR fortran/38432
320         * resolve.c (gfc_resolve_iterator): Add zero-loop warning.
321
322 2009-03-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
323             Paul Thomas  <pault@gcc.gnu.org>
324             Tobias Burnus  <burnus@net-b.de>
325
326         * gfortran.h (gfc_option_t): Add rtcheck.
327         * lang.opt: New option -fcheck.
328         * libgfortran.h: Add GFC_RTCHECK_* constants.
329         * invoke.texi: Document -fcheck.
330         * options.c (gfc_handle_runtime_check_option): New function.
331         (gfc_init_options,gfc_post_options,gfc_handle_option):
332         Add -fcheck option.
333
334 2009-03-27  Richard Guenther  <rguenther@suse.de>
335
336         * trans-array.c (gfc_conv_descriptor_data_addr): Use
337         gfc_build_addr_expr instead of build_fold_addr_expr.
338         (gfc_trans_allocate_array_storage, gfc_trans_array_constructor_value,
339         gfc_trans_constant_array_constructor, gfc_conv_array_data,
340         gfc_conv_expr_descriptor, gfc_conv_array_parameter): Likewise.
341         * trans-expr.c (gfc_conv_missing_dummy, gfc_conv_variable,
342         gfc_conv_function_val, gfc_conv_operator_assign,
343         gfc_conv_subref_array_arg, gfc_conv_function_call,
344         gfc_conv_expr_reference, gfc_trans_scalar_assign): Likewise.
345         * trans-intrinsic.c (gfc_conv_intrinsic_exponent,
346         gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate,
347         gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax_char,
348         gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_spacing,
349         gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_set_exponent,
350         gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer,
351         gfc_conv_intrinsic_si_kind, gfc_conv_intrinsic_trim): Likewise.
352         * trans-io.c (gfc_trans_io_runtime_check, set_parameter_ref,
353         gfc_convert_array_to_string, gfc_trans_open, gfc_trans_close,
354         build_filepos, gfc_trans_inquire, gfc_trans_wait,
355         nml_get_addr_expr, transfer_namelist_element, build_dt,
356         gfc_trans_dt_end, transfer_array_component, transfer_expr,
357         transfer_array_desc, gfc_trans_transfer): Likewise.
358         * trans-stmt.c (gfc_trans_allocate, gfc_trans_deallocate): Likewise.
359         * trans.c (gfc_build_addr_expr): Mark the base of the address
360         TREE_ADDRESSABLE.
361
362 2009-03-27  Tobias Burnus  <burnus@net-b.de>
363
364         * gfortran.h (enum init_local_real.): Add GFC_INIT_REAL_SNAN.
365         (gfc_expr): Add is_snan.
366         * trans-const.c (gfc_conv_mpfr_to_tree): Support SNaN.
367         (gfc_conv_constant_to_tree): Update call to gfc_conv_mpfr_to_tree.
368         * trans-const.h (gfc_conv_mpfr_to_tree): Update prototype.
369         * resolve.c (build_default_init_expr): Update call.
370         * target-memory.c (encode_float): Ditto.
371         * trans-intrinsic.c (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod,
372
373 2009-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
374
375         * lang.opt: Unify help texts for -I, -Wconversion, -d, -fopenmp,
376         and -fpreprocessed.
377
378 2009-03-06  Alexandre Oliva <aoliva@redhat.com>
379
380         * simplify.c (gfc_simplify_transfer): Zero-initialize the
381         buffer.
382
383 2009-02-27  Tobias Burnus  <burnus@net-b.de>
384
385         PR fortran/39309
386         * module.c (read_md5_from_module_file): Add missing quote.
387
388 2009-02-27  Tobias Burnus  <burnus@net-b.de>
389
390         PR fortran/39309
391         * module.c (read_md5_from_module_file): Include mod version
392         in had-changed test.
393
394 2009-02-26  Paul Thomas  <pault@gcc.gnu.org>
395
396         PR fortran/39295
397         * interface.c (compare_type_rank_if): Return 1 if the symbols
398         are the same and deal with external procedures where one is
399         identified to be a function or subroutine by usage but the
400         other is not.
401
402 2009-02-26  Paul Thomas  <pault@gcc.gnu.org>
403
404         PR fortran/39292
405         * trans-array.c (gfc_conv_array_initializer): Convert all
406         expressions rather than ICEing.
407
408 2009-02-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
409
410         PR fortran/38914
411         * array.c (ref_dimen_size):  Rename to gfc_ref_dimen_size,
412         make global.  Change function name in error messages.
413         (ref_size):  Change ref_dimen_size to gfc_ref_dimen_size.
414         (gfc_array_ref_shape):  Likewise.
415         * gfortran.h:  Add prototype for gfc_ref_dimen_size.
416         * simplify.c (simplify_bound_dim):  Add ref argument.
417         If the reference isn't a full array, return one for
418         the lower bound and the extent for the upper bound.
419         (simplify_bound):  For array sections, take as from the
420         argument.  Add reference to all to simplify_bound_dim.
421
422 2009-02-19  Daniel Franke  <franke.daniel@gmail.com>
423
424         * scanner.c (load_line): At end of line, skip '\r' without setting
425         the truncation flag.
426
427 2009-02-18  Daniel Kraft  <d@domob.eu>
428
429         * gfortran.texi: New chapter about compiler characteristics.
430         (Compiler Characteristics): Document KIND type parameters here.
431
432 2009-02-18  Tobias Burnus  <burnus@net-b.de>
433
434         * intrinsic.texi (MALLOC): Make example more portable.
435
436 2009-02-13  Mikael Morin  <mikael.morin@tele2.fr>
437
438         PR fortran/38259
439         * module.c (gfc_dump_module,gfc_use_module): Add module
440         version number.
441
442 2009-02-13  Paul Thomas  <pault@gcc.gnu.org>
443
444         PR fortran/36703
445         PR fortran/36528
446         * trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer
447         function references to ensure that a valid expression is used.
448         (gfc_conv_function_call): Pass Cray pointers to procedures.
449
450 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
451
452         * gfortranspec.c (lang_specific_driver): Update copyright notice
453         dates.
454
455 2009-01-28  Paul Thomas  <pault@gcc.gnu.org>
456
457         PR fortran/38852
458         PR fortran/39006
459         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
460         descriptor ubound for UBOUND, when the array lbound == 1.
461
462 2009-01-27  Daniel Kraft  <d@domob.eu>
463
464         PR fortran/38883
465         * trans-stmt.c (gfc_conv_elemental_dependencies):  Create temporary
466         for the real type needed to make it work for subcomponent-references.
467
468 2009-01-21  Daniel Kraft  <d@domob.eu>
469
470         * trans-stmt.c (gfc_conv_elemental_dependencies):  Cleaned up comment.
471
472 2009-01-20  Paul Thomas  <pault@gcc.gnu.org>
473
474         PR fortran/38907
475         * resolve.c (check_host_association): Remove the matching to
476         correct an incorrect host association and use manipulation of
477         the expression instead.
478
479 2009-01-20  Tobias Burnus  <burnus@net-b.de>
480
481         * invoke.texi (RANGE): RANGE also takes INTEGER arguments.
482
483 2009-01-19  Mikael Morin  <mikael.morin@tele2.fr>
484
485         PR fortran/38859
486         * simplify.c (simplify_bound): Don't use array specification
487         if variable or component has subsequent references.
488
489 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
490
491         PR fortran/38657
492         * module.c (write_common_0): Add argument 'this_module' and
493         check that non-use associated common blocks are written first.
494         (write_common): Call write_common_0 twice, once with true and
495         then with false.
496
497 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
498
499         PR fortran/34955
500         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Has
501         been absorbed into gfc_conv_intrinsic_transfer. All
502         references to it in trans-intrinsic.c have been changed
503         accordingly.  PR fixed by using a temporary for scalar
504         character transfer, when the source is shorter than the
505         destination.
506
507 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
508
509         PR fortran/38657
510         * module.c (write_common_0): Revert patch of 2009-01-05.
511
512 2009-01-16  Janus Weil  <janus@gcc.gnu.org>
513
514         PR fortran/38152
515         * expr.c (gfc_check_pointer_assign): Allow use-associated procedure
516         pointers as lvalue.
517         * trans-decl.c (get_proc_pointer_decl,gfc_create_module_variable):
518         Enable procedure pointers as module variables.
519
520 2009-01-14  Steven G. Kargl  <kargl@gcc.gnu.org>
521
522         * ChangeLog-2007: Clean out svn merge droppings.
523
524 2009-01-10  Paul Thomas  <pault@gcc.gnu.org>
525
526         PR fortran/38763
527         * target-memory.c (encode_derived): Encode NULL.
528
529 2009-01-10  Paul Thomas  <pault@gcc.gnu.org>
530
531         PR fortran/38765
532         * resolve.c (check_host_association): Use the symtree name to
533         search for a potential contained procedure, since this is the
534         name by which it would be referenced.
535
536 2009-01-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
537
538         PR fortran/38220
539         * interface.c (gfc_procedure_use):  Don't warn about functions
540         from ISO_C_BINDING.
541         * symbol.c (generate_isocbinding_symbol):  Mark c_loc and
542         c_funloc as pure.
543
544 2009-01-05  Paul Thomas  <pault@gcc.gnu.org>
545
546         PR fortran/38657
547         * module.c (write_common_0): Use the name of the symtree rather
548         than the common block, to determine if the common has been
549         written.
550
551 2009-01-05  Daniel Franke  <franke.daniel@gmail.com>
552
553         PR fortran/37159
554         * check.c (gfc_check_random_seed): Added size check for GET
555         dummy argument, reworded error messages to follow common pattern.
556
557 2009-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
558
559         PR fortran/38672
560         * trans-types.c (gfc_get_derived_type):  Check for the
561         presence of derived->ns->proc_name before
562         accessing derived->ns->proc_name->attr.flavor .
563         * resolve.c (resolve_symbol):  Likewise.
564
565 2009-01-05  Paul Thomas  <pault@gcc.gnu.org>
566
567         PR fortran/38665
568         * gfortran.h : Add bit to gfc_expr 'user_operator'
569         * interface.c (gfc_extend_expr): Set the above if the operator
570         is substituted by a function. 
571         * resolve.c (check_host_association): Return if above is set.
572
573 2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>
574
575         PR fortran/35681
576         * ChangeLog-2008: Fix function name.
577
578         PR fortran/38487
579         * dependency.c (gfc_check_argument_var_dependency):
580         Move the check for pointerness inside the if block
581         so that it doesn't affect the return value.
582
583         PR fortran/38669
584         * trans-stmt.c (gfc_trans_call):
585         Add the dependency code after the loop bounds calculation one.
586
587 2009-01-04  Daniel Franke  <franke.daniel@gmail.com>
588
589         * intrinsic.c (do_simplify): Removed already implemented TODO.
590
591 2009-01-04  Daniel Franke  <franke.daniel@gmail.com>
592
593         PR fortran/38718
594         * simplify.c (gfc_simplify_merge): New.
595         * intrinsic.h (gfc_simplify_merge): New prototype.
596         * intrinsic.c (add_functions): Added simplification for MERGE.
597
598 2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>
599
600         PR fortran/38536
601         * gfortran.h (gfc_is_data_pointer): Added prototype
602         * resolve.c (gfc_iso_c_func_interface):
603         Use gfc_is_data_pointer to test for pointer attribute.
604         * dependency.c (gfc_is_data_pointer):
605         Support pointer-returning functions.
606
607 2009-01-03  Daniel Franke  <franke.daniel@gmail.com>
608
609         * symbol.c (save_symbol): Don't SAVE function results.
610
611 2009-01-03  Paul Thomas  <pault@gcc.gnu.org>
612
613         PR fortran/38594
614         * resolve.c (resolve_call): When searching for proper host
615         association, use symtree rather than symbol.  For everything
616         except generic subroutines, substitute the symtree in the call
617         rather than the symbol.