OSDN Git Service

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