OSDN Git Service

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