OSDN Git Service

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