OSDN Git Service

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