OSDN Git Service

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