OSDN Git Service

2010-04-08 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2010-04-08  Tobias Burnus  <burnus@net-b.de>
2
3         * module.c (use_iso_fortran_env_module): Fix standard check.
4
5 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
6
7         * parse.c (parse_derived, parse_enum): Avoid set but not used
8         warning.
9
10 2010-04-07  Janne Blomqvist  <jb@gcc.gnu.org>
11
12         PR fortran/40539
13         * gfortran.texi: Add section about representation of
14         LOGICAL variables.
15
16 2010-04-07  Simon Baldwin  <simonb@google.com>
17
18         * cpp.c (cb_cpp_error): Add warning reason argument, set a value
19         for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
20
21 2010-04-07  Richard Guenther  <rguenther@suse.de>
22
23         * options.c (gfc_init_options): Do not set.
24
25 2010-04-06  Tobias Burnus  <burnus@net-b.de>
26
27         PR fortran/18918
28         * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
29         * match.c (gfc_match_critical, sync_statement): Ditto.
30         * gfortran.h (gfc_fcoarray): New enum.
31         (gfc_option_t): Use it.
32         * lang.opt (fcoarray): Add new flag.
33         * invoke.texi (fcoarray): Document it.
34         * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
35         (gfc_handle_coarray_option): New function.
36
37 2010-04-06  Tobias Burnus  <burnus@net-b.de>
38
39         PR fortran/18918
40         * gfortran.h (gfc_array_spec): Add cotype.
41         * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
42         and defer error diagnostic.
43         * resolve.c (resolve_fl_derived): Add missing check.
44         (resolve_symbol): Add cotype/type check.
45         * parse.c (parse_derived): Fix setting of coarray_comp.
46
47 2010-04-06  Tobias Burnus  <burnus@net-b.de>
48
49         PR fortran/18918
50         * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
51         match_array_element_spec,gfc_copy_array_spec,
52         gfc_compare_array_spec): Include corank.
53         (match_array_element_spec,gfc_set_array_spec): Support codimension.
54         * decl.c (build_sym,build_struct,variable_decl,
55         match_attr_spec,attr_decl1,cray_pointer_decl,
56         gfc_match_volatile): Add codimension.
57         (gfc_match_codimension): New function.
58         * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
59         * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
60         (gfc_add_codimension): New function prototype.
61         * match.h (gfc_match_codimension): New function prototype.
62         (gfc_match_array_spec): Update prototype
63         * match.c (gfc_match_common): Update gfc_match_array_spec call.
64         * module.c (MOD_VERSION): Bump.
65         (mio_symbol_attribute): Support coarray attributes.
66         (mio_array_spec): Add corank support.
67         * parse.c (decode_specification_statement,decode_statement,
68         parse_derived): Add coarray support.
69         * resolve.c (resolve_formal_arglist, was_declared,
70         is_non_constant_shape_array, resolve_fl_variable,
71         resolve_fl_derived, resolve_symbol): Add coarray support.
72         * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
73         gfc_build_class_symbol): Add coarray support.
74         (gfc_add_codimension): New function.
75
76 2010-04-06  Tobias Burnus  <burnus@net-b.de>
77
78         PR fortran/18918
79         * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
80         atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
81         stat_locked_other_image, stat_stopped_image and stat_unlocked of
82         Fortran 2008.
83         * intrinsic.texi (iso_fortran_env): Ditto.
84         * libgfortran.h (libgfortran_stat_codes): New enum.
85         * module.c (use_iso_fortran_env_module): Honour -std= when loading
86         constants from the intrinsic module.
87
88 2010-04-06  Tobias Burnus  <burnus@net-b.de>
89
90         PR fortran/39997
91         * intrinsic.c (add_functions): Add num_images.
92         * decl.c (gfc_match_end): Handle END CRITICAL.
93         * intrinsic.h (gfc_simplify_num_images): Add prototype.
94         * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
95         and SYNC.
96         * gfortran.h (gfc_statement): Add enum items for those.
97         (gfc_exec_op) Ditto.
98         (gfc_isym_id): Add num_images.
99         * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
100         (gfc_trans_sync,gfc_trans_critical): New functions.
101         * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
102         gfc_trans_critical): Add/update prototypes.
103         * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
104         and SYNC statements.
105         * trans.h (gfor_fndecl_error_stop_string) Add variable.
106         * resolve.c (resolve_sync): Add function.
107         (gfc_resolve_blocks): Handle CRITICAL.
108         (resolve_code): Handle CRITICAL, ERROR STOP,
109         (resolve_branch): Add CRITICAL constraint check.
110         and SYNC statements.
111         * st.c (gfc_free_statement): Add new statements.
112         * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
113         (gfc_build_builtin_function_decls): Initialize it.
114         * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
115         (gfc_match_critical, gfc_match_error_stop, sync_statement,
116         gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
117         New functions.
118         (match_exit_cycle): Handle CRITICAL constraint.
119         (gfc_match_stopcode): Handle ERROR STOP.
120         * match.h (gfc_match_critical, gfc_match_error_stop,
121         gfc_match_sync_all, gfc_match_sync_images,
122         gfc_match_sync_memory): Add prototype.
123         * parse.c (decode_statement, gfc_ascii_statement,
124         parse_executable): Handle new statements.
125         (parse_critical_block): New function.
126         * parse.h (gfc_compile_state): Add COMP_CRITICAL.
127         * intrinsic.texi (num_images): Document new function.
128         * simplify.c (gfc_simplify_num_images): Add function.
129
130 2010-04-06  Tobias Burnus  <burnus@net-b.de>
131
132         PR fortran/43178
133         * trans-array.c (gfc_conv_expr_descriptor): Update
134         gfc_trans_scalar_assign call.
135         (has_default_initializer): New function.
136         (gfc_trans_deferred_array): Nullify less often.
137         * trans-expr.c (gfc_conv_subref_array_arg,
138         gfc_trans_subcomponent_assign): Update call to
139         gfc_trans_scalar_assign.
140         (gfc_trans_scalar_assign): Add parameter and pass it on.
141         (gfc_trans_assignment_1): Optionally, do not dealloc before
142         assignment.
143         * trans-openmp.c (gfc_trans_omp_array_reduction): Update
144         call to gfc_trans_scalar_assign.
145         * trans-decl.c (gfc_get_symbol_decl): Do not always apply
146         initializer to static variables.
147         (gfc_init_default_dt): Add dealloc parameter and pass it on.
148         * trans-stmt.c (forall_make_variable_temp,
149         generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
150         gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
151         gfc_trans_allocate): Update gfc_trans_assignment call.
152         * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
153         gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
154         parameter to prototype.
155
156 2010-03-31  Paul Thomas  <pault@gcc.gnu.org>
157
158         * ioparm.def : Update copyright.
159         * lang.opt : ditto
160         * trans-array.c : ditto
161         * trans-array.h : ditto
162         * expr.c: ditto
163         * trans-types.c: ditto
164         * dependency.c : ditto
165         * gfortran.h : ditto
166         * options.c : ditto
167         * trans-io.c : ditto
168         * trans-intrinsic.c : ditto
169         * libgfortran.h : ditto
170         * invoke.texi : ditto
171         * intrinsic.texi : ditto
172         * trans.c : ditto
173         * trans.h : ditto
174         * intrinsic.c : ditto
175         * interface.c : ditto
176         * iresolve.c : ditto
177         * trans-stmt.c : ditto
178         * trans-stmt.h : ditto
179         * parse,c : ditto
180         * match.h : ditto
181         * error.c : ditto
182
183 2010-03-20  Paul Thomas  <pault@gcc.gnu.org>
184
185         PR fortran/43450
186         * trans-decl.c (gfc_create_module_variable): With -fwhole-file
187         do not assert the context of derived types.
188
189 2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
190
191         PR fortran/43409
192         * ioparm.def: Change inquire size variable to type pointer to
193         GFC_IO_INT type.
194
195 2010-03-18  Paul Thomas  <pault@gcc.gnu.org>
196
197         PR fortran/43039
198         * trans-expr.c (conv_parent_component_references): Ensure that
199         'dt' has a backend_decl.
200
201         PR fortran/43043
202         * trans-expr.c (gfc_conv_structure): Ensure that the derived
203         type has a backend_decl.
204
205         PR fortran/43044
206         * resolve.c (resolve_global_procedure): Check that the 'cl'
207         structure is not NULL.
208
209 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
210
211         * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
212         redundant tab.
213
214 2010-03-17  Tobias Burnus  <burnus@net-b.de>
215
216         PR fortran/43331
217         * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
218         gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
219         check.
220         * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
221         pointees as having explizit size.
222         * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
223         check.
224         * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
225         (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
226         * resolve.c (resolve_symbol): Handle cp_was_assumed.
227         * trans-decl.c (gfc_trans_deferred_vars): Ditto.
228         (gfc_finish_var_decl): Don't mark Cray pointees as restricted
229         pointers.
230
231 2010-03-14  Tobias Burnus  <burnus@net-b.de>
232
233         PR fortran/43362
234         * resolve.c (resolve_structure_cons): Add missing PURE constraint.
235         (resolve_ordinary_assign): Add check to avoid segfault.
236
237 2010-03-12  Paul Thomas  <pault@gcc.gnu.org>
238
239         PR fortran/43291
240         PR fortran/43326
241         * resolve.c (resolve_compcall): Add new boolean dummy argument
242         'class_members'. Only resolve expression at end if false.
243         Remove redundant, static variable 'class_object'.
244         (check_class_members): Add extra argument to call of
245         resolve_compcall.
246         (resolve_typebound_function): Renamed resolve_class_compcall.
247         Do all the detection of class references here. Correct calls to
248         resolve_compcall for extra argument.
249         (resolve_typebound_subroutine): resolve_class_typebound_call
250         renamed. Otherwise same as resolve_typebound_function.
251         (gfc_resolve_expr): Call resolve_typebound_function.
252         (resolve_code): Call resolve_typebound_subroutine.
253
254 2010-03-10  Tobias Burnus  <burnus@net-b.de
255
256         PR fortran/43303
257         * symbol.c (get_iso_c_sym): Set sym->result.
258
259 2010-03-08  Janus Weil  <janus@gcc.gnu.org>
260
261         PR fortran/43256
262         * resolve.c (resolve_compcall): Don't set 'value.function.name' here
263         for TBPs, otherwise they will not be resolved properly.
264         (resolve_function): Use 'value.function.esym' instead of
265         'value.function.name' to check if we're dealing with a TBP.
266         (check_class_members): Set correct type of passed object for all TBPs,
267         not only generic ones, except if the type is abstract.
268
269 2010-03-04  Janus Weil  <janus@gcc.gnu.org>
270
271         PR fortran/43244
272         * decl.c (gfc_match_final_decl): Make sure variable names starting with
273         'final...' are not misinterpreted as FINAL statements.
274
275 2010-03-03  Paul Thomas  <pault@gcc.gnu.org>
276
277         PR fortran/43243
278         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
279         allocatable ultimate components do not need temporaries, whilst
280         ultimate pointer components do.
281
282 2010-03-03  Janus Weil  <janus@gcc.gnu.org>
283
284         PR fortran/43169
285         * resolve.c (resolve_code): Correctly set gfc_current_ns for
286         EXEC_SELECT_TYPE.
287         (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
288         (gfc_pure): Ditto.
289
290 2010-03-02  Paul Thomas  <pault@gcc.gnu.org>
291
292         PR fortran/43180
293         * trans-array.c (gfc_conv_array_parameter): A full array of
294         derived type need not be restricted to a symbol without an
295         array spec to use the call to gfc_conv_expr_descriptor.
296
297         PR fortran/43173
298         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
299         allocatable arrays do not need temporaries.
300
301 2010-03-01  Tobias Burnus  <burnus@net-b.de>
302
303         PR fortran/43199
304         * resolve.c (find_array_spec): Handle REF_COMPONENT with
305         CLASS components.
306
307 2010-02-28  Tobias Burnus  <burnus@net-b.de>
308
309         PR fortran/43205
310         * trans-expr.c (is_zero_initializer_p): Move up in the file.
311         (gfc_conv_initializer): Handle zero initializer as special case.
312
313 2010-02-27  Tobias Burnus  <burnus@net-b.de>
314
315         PR fortran/43185
316         * resolve.c (resolve_fl_variable_derived): Imply SAVE
317         for module variables for Fortran 2008.
318
319 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
320
321         PR debug/43166
322         * trans-common.c (build_common_decl): Also update DECL_MODE,
323         and DECL_SIZE when encountering a larger common block and call
324         layout_decl.
325
326 2010-02-24  Tobias Burnus  <burnus@net-b.de>              
327
328         PR fortran/43042
329         * trans-expr.c (gfc_conv_initializer): Call directly
330         gfc_conv_constant for C_NULL_(FUN)PTR.              
331
332 2010-02-22  Paul Thomas  <pault@gcc.gnu.org>
333
334         PR fortran/43072
335         * dependency.c (gfc_full_array_ref_p): Check for contiguous by
336         checking the rest of the dimensions for elements.
337
338 2010-02-21  Tobias Burnus  <burnus@net-b.de>
339
340         PR fortran/35259
341         * gfortran.h (gfc_option_t): New flag -fprotect-parens.
342         * lang.opt: Ditto.
343         * option.c (gfc_init_options,gfc_handle_option): Ditto.
344         * trans-expr.c (gfc_conv_expr_op): Use the flag.
345         * invoke.texi: Document new -fno-protect-parens flag.
346
347 2010-02-20  Paul Thomas  <pault@gcc.gnu.org>
348
349         PR fortran/36932
350         PR fortran/36933
351         PR fortran/43072
352         PR fortran/43111
353         * dependency.c (gfc_check_argument_var_dependency): Use enum
354         value instead of arithmetic vaue for 'elemental'.
355         (check_data_pointer_types): New function.
356         (gfc_check_dependency): Call check_data_pointer_types.
357         * trans-array.h : Change fourth argument of
358         gfc_conv_array_parameter to boolean.
359         * trans-array.c (gfc_conv_array_parameter): A contiguous array
360         can be a dummy but it must not be assumed shape or deferred.
361         Change fourth argument to boolean. Array constructor exprs will
362         always be contiguous and do not need packing and unpacking.
363         * trans-expr.c (gfc_conv_procedure_call): Clean up some white
364         space and change fourth argument of gfc_conv_array_parameter
365         to boolean.
366         (gfc_trans_arrayfunc_assign): Change fourth argument of
367         gfc_conv_array_parameter to boolean.
368         * trans-io.c (gfc_convert_array_to_string): The same.
369         * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
370
371 2010-02-20  Tobias Burnus  <burnus@net-b.de>
372
373         PR fortran/42958
374         * libgfortran.h: Add GFC_RTCHECK_MEM.
375         * invoke.texi (-fcheck=): Document -fcheck=mem.
376         * tranc.c (gfc_call_malloc): Remove negative-size run-time error
377         and enable malloc-success check only with -fcheck=mem.
378         * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
379
380 2010-02-16  Tobias Burnus  <burnus@net-b.de>
381
382         PR fortran/43040
383         * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
384         * intrinsic.c (add_functions): Ditto.
385         * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
386         * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
387
388 2010-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
389
390         PR fortran/32382
391         * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
392         gfc_trans_do prototype.
393         * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
394         a loop exit condition.  If exit condition is given, build the loop exit
395         code, checking IO results of implied do loops in READ and WRITE.
396         (gfc_trans_do): Likewise.
397         * trans.c (trans_code): New static work function, previously
398         gfc_trans_code. Passes exit condition to gfc_trans_do.
399         (gfc_trans_code): Calls trans_code with NULL_TREE condition.
400         (gfc_trans_code_cond): Calls trans_code with loop exit condition.
401         * trans-io.c (build_dt): Build an exit condition to allow checking IO
402         result status bits in the dtparm structure. Use this condition in call
403         to gfc_trans_code_cond.
404
405 2010-02-13  Paul Thomas  <pault@gcc.gnu.org>
406
407         PR fortran/41113
408         PR fortran/41117
409         * trans-array.c (gfc_conv_array_parameter): Use
410         gfc_full_array_ref_p to detect full and contiguous variable
411         arrays. Full array components and contiguous arrays do not need
412         internal_pack and internal_unpack.
413
414 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
415
416         PR fortran/43030
417         * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
418
419         PR fortran/43029
420         * decl.c (enumerator_decl): Don't call gfc_free_enum_history
421         here.
422         (gfc_match_enumerator_def): But here whenever enumerator_decl returns
423         MATCH_ERROR.
424
425 2010-02-10  Joost VandeVondele <jv244@cam.ac.uk>
426             Tobias Burnus <burnus@net-b.de>
427
428         PR fortran/40823
429         * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
430
431 2010-02-10  Tobias Burnus  <burnus@net-b.de>
432
433         PR fortran/43015
434         * trans-decl.c (gfc_generate_function_code): Only check
435         actual-vs.-dummy character bounds if not bind(C).
436
437 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
438
439         PR fortran/42309
440         * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
441         info->dimen after info has been freed.
442
443 2010-02-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
444
445         PR fortran/42999
446         * array.c (gfc_constant_ac): Do not prevent expansion of constructors
447         with iterators.
448
449 2010-02-09  Jakub Jelinek  <jakub@redhat.com>
450
451         * module.c (fix_mio_expr): Declare sym.
452
453 2010-02-09  Paul Thomas  <pault@gcc.gnu.org>
454
455         PR fortran/41869
456         * module.c (fix_mio_expr): Fix for private generic procedures.
457
458 2010-02-09  Daniel Kraft  <d@domob.eu>
459
460         PR fortran/39171
461         * resolve.c (resolve_charlen): Change warning about negative CHARACTER
462         length to be correct and issue only with -Wsurprising.
463         * invoke.texi (Wsurprising): Mention this new warning that is
464         turned on by -Wsurprising.
465
466 2010-02-09  Daniel Kraft  <d@domob.eu>
467
468         PR fortran/41507
469         * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
470         can be CHARACTER type.
471         (MINVAL), (MAXLOC), (MINLOC): Ditto.
472
473 2010-02-05  Paul Thomas  <pault@gcc.gnu.org>
474
475         PR fortran/42309
476         * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
477         'formal_ptr'. If this is true, give returned descriptor unity
478         lbounds, in all dimensions, and the appropriate offset.
479         (gfc_conv_procedure_call); If formal is a pointer, set the last
480         argument of gfc_conv_subref_array_arg to true.
481         * trans.h : Add last argument for gfc_conv_subref_array_arg.
482         * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
483         new arg of gfc_conv_subref_array_arg to false.
484         * trans-stmt.c (forall_make_variable_temp): The same.
485
486 2010-02-03  Tobias Burnus  <burnus@net-b.de>
487
488         PR fortran/42936
489         * interface.c (compare_parameter): Disable rank-checking
490         for NULL().
491
492 2010-02-02  Tobias Burnus  <burnus@net-b.de>
493
494         PR fortran/42650
495         * parse.c (decode_specification_statement): Use sym->result not sym.
496
497 2010-02-01  Tobias Burnus  <burnus@net-b.de>
498
499         PR fortran/42922
500         * decl.c (variable_decl): Allow default initializer in
501         TYPE declarations in PURE functions.
502
503 2010-01-31  Janus Weil  <janus@gcc.gnu.org>
504
505         PR fortran/42888
506         * resolve.c (resolve_allocate_expr): Move default initialization code
507         here from gfc_trans_allocate.
508         * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
509         EXEC_INIT_ASSIGN.
510         * trans-expr.c (gfc_trans_class_assign): Handle default initialization
511         of CLASS variables via memcpy.
512         * trans-stmt.c (gfc_trans_allocate): Move default initialization code
513         to resolve_allocate_expr.
514
515 2010-01-31  Paul Thomas  <pault@gcc.gnu.org>
516
517         PR fortran/38324
518         * expr.c (gfc_get_full_arrayspec_from_expr): New function.
519         * gfortran.h : Add prototype for above.
520         * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
521         (gfc_trans_subcomponent_assign): Call new function to replace
522         the code to deal with allocatable components.
523         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
524         gfc_get_full_arrayspec_from_expr to replace existing code.
525
526 2010-01-25  Tobias Burnus  <burnus@net-b.de>
527
528         PR fortran/42858
529         * array.c (gfc_array_dimen_size): Fix intrinsic procedure
530         check.
531
532 2010-01-24  Paul Thomas  <pault@gcc.gnu.org>
533
534         PR fortran/41044
535         PR fortran/41167
536         * expr.c (remove_subobject_ref): If the constructor is NULL use
537         the expression as the source.
538         (simplify_const_ref): Change the type of expression if
539         there are component references.  Allow for substring to be at
540         the end of an arbitrarily long chain of references.  If an
541         element is found that is not in an EXPR_ARRAY, assume that this
542         is scalar initialization of array. Call remove_subobject_ref in
543         this case with NULL second argument.
544
545 2010-01-24  Tobias Burnus  <burnus@net-b.de>
546
547         PR fortran/39304
548         * array.c (gfc_array_dimen_size): Use correct specific
549         function in the check.
550
551 2010-01-21  Paul Thomas  <pault@gcc.gnu.org>
552
553         PR fortran/42736
554         * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
555         is required, turn any trailing array elements after a range
556         into ranges so that offsets can be calculated.
557
558 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
559
560         * module.c (mio_f2k_derived): Use enumerator as initializer of
561         enum variable.
562
563         PR bootstrap/42812
564         * gfortran.h  (struct gfc_namespace) <resolved>: Change to signed
565         bitfield of width 2.
566
567 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
568
569         PR fortran/42804
570         * resolve.c (extract_compcall_passed_object): Set locus for
571         passed-object argument.
572         (extract_ppc_passed_object): Set locus and correctly remove PPC
573         reference.
574
575 2010-01-19  Paul Thomas  <pault@gcc.gnu.org>
576
577         PR fortran/42783
578         * trans-decl.c (add_argument_checking): Do not use the backend
579         decl directly to test for the presence of an optional dummy
580         argument.  Use gfc_conv_expr_present, remembering to set the
581         symbol referenced.
582
583         PR fortran/42772
584         * trans-decl.c (gfc_generate_function_code): Small white space
585         changes. If 'recurcheckvar' is NULL do not try to reset it.
586
587 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
588
589         PR fortran/42545
590         * resolve.c (resolve_fl_derived): Set the accessibility of the parent
591         component for extended types.
592         * symbol.c (gfc_find_component): Remove a wrongly-worded error message
593         and take care of parent component accessibility.
594
595 2010-01-17  Janus Weil  <janus@gcc.gnu.org>
596
597         PR fortran/42677
598         * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
599         * interface.c (check_interface1): Move a warning message here from
600         resolve_fl_procedure.
601         (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
602         * module.c (read_module): Remove call to gfc_check_interfaces, since
603         this comes too early here.
604         * resolve.c (resolve_fl_procedure): Move warning message to
605         check_interface1.
606
607 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
608
609         PR fortran/42684
610         * interface.c (check_interface1): Pass symbol name rather than NULL to
611         gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
612         trap MULL.
613         * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
614         than NULL to gfc_compare_interfaces.
615
616 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
617
618         PR fortran/41478
619         * trans-array.c (duplicate_allocatable):  Static version of
620         gfc_duplicate_allocatable with provision to handle scalar
621         components. New boolean argument to switch off call to malloc
622         if true.
623         (gfc_duplicate_allocatable): New function to call above with
624         new argument false.
625         (gfc_copy_allocatable_data): New function to call above with
626         new argument true.
627         (structure_alloc_comps): Do not apply indirect reference to
628         scalar pointers. Add new section to copy allocatable components
629         of arrays. Extend copying of allocatable components to include
630         scalars.
631         (gfc_copy_only_alloc_comp): New function to copy allocatable
632         component derived types, without allocating the base structure.
633         * trans-array.h : Add primitive for gfc_copy_allocatable_data.
634         Add primitive for gfc_copy_only_alloc_comp.
635         * trans-expr.c (gfc_conv_procedure_call): After calls to
636         transformational functions with results that are derived types
637         with allocatable components, copy the components in the result.
638         (gfc_trans_arrayfunc_assign): Deallocate allocatable components
639         of lhs derived types before allocation.
640         
641 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
642
643         PR fortran/42481
644         * module.c (load_generic_interfaces): If a procedure that is
645         use associated but not generic is given an interface that
646         includes itself, then make it generic.
647
648 2010-01-11  Joseph Myers  <joseph@codesourcery.com>  
649             Shujing Zhao  <pearly.zhao@oracle.com>
650
651         PR translation/42469
652         * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
653         finit-logical=, finit-real=, fmax-array-constructor=): Use tab
654         character between option name and help text.
655
656 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
657
658         PR fortran/20923
659         PR fortran/32489
660         * trans-array.c (gfc_conv_array_initializer): Change call to
661         gfc_error_now to call to gfc_fatal_error.
662         * array.c (count_elements): Whitespace. (extract_element): Whitespace.
663         (is_constant_element): Changed name from constant_element.
664         (gfc_constant_ac): Only use expand_construuctor for expression
665         types of EXPR_ARRAY.  If expression type is EXPR_CONSTANT, no need to
666         call gfc_is_constant_expr.
667         * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
668         message.
669         * resolve.c (gfc_is_expandable_expr): New function that determiners if
670         array expressions should have their constructors expanded.
671         (gfc_resolve_expr): Use new function to determine whether or not to call
672         gfc_expand_constructor.
673
674 2010-01-09  Tobias Burnus  <burnus@net-b.de>
675
676         PR fortran/41298
677         * trans-expr.c (gfc_trans_structure_assign): Handle
678         c_null_(fun)ptr.
679         * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
680         to the constructor for c_null_(fun)ptr.
681         * resolve.c (resolve_structure_cons): Add special case
682         for c_null_(fun)ptr.
683
684 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
685
686         * gfortranspec.c (lang_specific_driver): Update copyright notice
687         dates.
688
689 2010-01-08  Tobias Burnus  <burnus@net-b.de>
690
691         PR/fortran 25829
692         * symbol.c (check_conflict, gfc_copy_attr): Add
693         ASYNCHRONOUS support.
694         (gfc_add_asynchronous): New function.
695         * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
696         (gfc_match_asynchronous): New function.
697         * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
698         * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
699         (gfc_add_asynchronous): New Prototype.
700         * module.c (ab_attribute, mio_symbol_attribute): Add
701         ASYNCHRONOUS support.
702         * resolve.c (was_declared): Ditto.
703         * match.h (gfc_match_asynchronous): New prototype.
704         * parse.c (decode_specification_statement,decode_statement):
705         Add ASYNCHRONOUS support.
706
707 2010-01-07  Tobias Burnus  <burnus@net-b.de>
708
709         PR fortran/42597
710         * trans-decl.c (get_proc_pointer_decl): Fix call to
711         gfc_conv_initializer for array-valued proc-pointer funcs.
712
713 2010-01-07  Tobias Burnus  <burnus@net-b.de>
714
715         PR fortran/41872
716         * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
717         allocatable scalars with SAVE attribute.
718
719 2010-01-05  Tobias Burnus  <burnus@net-b.de>
720
721         PR fortran/42517
722         * options.c (gfc_post_options): Set -frecursion
723         when -fopenmp is used.
724
725 2010-01-05  Tobias Burnus  <burnus@net-b.de>
726
727         PR fortran/41872
728         * trans-expr.c (gfc_conv_procedure_call): Nullify
729         return value for allocatable-scalar character functions.
730
731 2010-01-04  Tobias Burnus  <burnus@net-b.de>
732
733         PR fortran/36161
734         * error.c (error_printf, gfc_warning, gfc_notify_std,
735         gfc_warning_now, gfc_error, gfc_error_now,
736         gfc_fatal_error): Change argument name from nocmsgid to
737         gmsgid to enable (x)gettext's % checking.
738
739 2010-01-04  Tobias Burnus  <burnus@net-b.de>
740         
741         * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
742
743 2010-01-04  Tobias Burnus  <burnus@net-b.de>
744
745         PR fortran/41872
746         * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
747         for functions returning allocatable scalars.
748         * trans-stmt.c (gfc_trans_allocate): Emmit error when
749         reallocating an allocatable scalar.
750         * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
751         in comment.
752         * trans-decl.c (gfc_trans_deferred_vars): Nullify local
753         allocatable scalars.
754         (gfc_generate_function_code): Nullify result variable for
755         allocatable scalars.
756         
757         PR fortran/40849
758         * module.c (gfc_use_module): Fix warning string to allow
759         for translation.
760
761         PR fortran/42517
762         * invoke.texi (-fcheck=recursion): Mention that the checking
763         is also disabled for -frecursive.
764         * trans-decl.c (gfc_generate_function_code): Disable
765         -fcheck=recursion when -frecursive is used.
766
767         * intrinsic.texi (iso_c_binding): Improve wording.
768
769 \f
770 Copyright (C) 2010 Free Software Foundation, Inc.
771
772 Copying and distribution of this file, with or without modification,
773 are permitted in any medium without royalty provided the copyright
774 notice and this notice are preserved.