OSDN Git Service

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