OSDN Git Service

6663603495549dfdd5f39b50246749b27412290d
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2010-04-20  Paul Thomas  <pault@gcc.gnu.org>
2
3         PR fortran/43227
4         * resolve.c (resolve_fl_derived): If a component character
5         length has not been resolved, do so now.
6         (resolve_symbol): The same as above for a symbol character
7         length.
8         * trans-decl.c (gfc_create_module_variable): A 'length' decl is
9         not needed for a character valued, procedure pointer.
10
11         PR fortran/43266
12         * resolve.c (ensure_not_abstract_walker): If 'overriding' is
13         not found, return FAILURE rather than ICEing.
14
15 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
16
17         PR fortran/43339
18         * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
19         sequential loops private in the innermost containing task region.
20
21 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
22
23         * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
24         to build_common_tree_nodes.
25
26 2010-04-17  Steven G. Kargl  <kargl@gcc.gnu.org>
27
28         PR fortran/31538
29         * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
30         gfc_msg_bounds by using 'Array bound mismatch' directly.
31         (gfc_trans_dummy_array_bias):  Remove the use of gfc_msg_bounds.  Reword
32         error message to include the mismatch in the extent of array bound.
33         * fortran/trans.c: Remove gfc_msg_bounds.  It is only used in one place.
34         * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
35
36 2010-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
37
38         * gfortran.texi: Update information on temporary file locations.
39
40 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
41
42         * trans-decl.c (gfc_build_qualified_array): Ensure
43         ubound.N and lbound.N artificial variable names don't appear
44         in debug info.
45
46 2010-04-15  Steven G. Kargl  <kargl@gcc.gnu.org>
47
48         PR fortran/30073
49         * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
50         block of code.  Set name to the variable associated with the descriptor.
51
52 2010-04-15  Jakub Jelinek  <jakub@redhat.com>
53
54         * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
55         on VAR_DECL LBOUND and/or UBOUND, even for -O1.
56
57 2010-04-14  Steven G. Kargl  <kargl@gcc.gnu.org>
58
59         * intrinsic.texi: Add the missing specific name of intrinsic
60         procedure where the specific name is identical to the generic name.
61         Fix inconsistent or mismatch in the argument names in intrinsic
62         procedure descriptions.  Add the SCALAR allocatable description to
63         ALLOCATED.
64
65 2010-04-14  Tobias Burnus  <burnus@net-b.de>
66
67         PR fortran/18918
68         * array.c (gfc_find_array_ref): Handle codimensions.
69         (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
70         * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
71         gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
72         New functions.
73         * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
74         GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
75         GFC_ISYM_UCOBOUND.
76         * intrinsic.h (add_functions): Add this_image, image_index,
77         lcobound and ucobound intrinsics.
78         * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
79         gfc_check_image_index, gfc_check_this_image,
80         gfc_simplify_image_index, gfc_simplify_lcobound,
81         gfc_simplify_this_image, gfc_simplify_ucobound):
82         New function prototypes.
83         * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
84         IMAGE_INDEX): Document new intrinsic functions.
85         * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
86         error fatal.
87         * simplify.c (simplify_bound_dim): Handle coarrays.
88         (simplify_bound): Update simplify_bound_dim call.
89         (gfc_simplify_num_images): Add -fcoarray=none check.
90         (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
91         gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
92
93 2010-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
94
95         PR fortran/43747
96         * constructor.c: Fix typo in comment.
97         * expr.c (find_array_section): Add check for max array limit.
98
99 2010-04-13  Iain Sandoe  <iains@gcc.gnu.org>
100
101         PR bootstrap/31400
102         * gfortranspec.c (lookup_option): Check for -static and return
103         OPTION_static.
104         (lang_specific_driver): Break when OPTION_static is discovered.
105
106 2010-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
107
108         * array.c (extract_element): Restore function from trunk.
109         (gfc_get_array_element): Restore function from trunk.
110         (gfc_expand_constructor): Restore check against
111         flag_max_array_constructor.
112         * constructor.c (node_copy_and_append): Delete unused.
113         * gfortran.h: Delete comment and extra include.
114         * constructor.h: Bump copyright and clean up TODO comments.
115         * resolve.c: Whitespace.
116
117 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
118
119         * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
120         with direct access access to elements. Adjusted prototype, fixed all
121         callers.
122         (gfc_simplify_dot_product): Removed duplicate check for zero-sized
123         array.
124         (gfc_simplify_matmul): Removed usage of ADVANCE macro.
125         (gfc_simplify_spread): Removed workaround, directly insert elements
126         at a given array position.
127         (gfc_simplify_transpose): Likewise.
128         (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
129         function calls.
130         (gfc_simplify_unpack): Likewise.
131
132 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
133
134         * simplify.c (only_convert_cmplx_boz): Renamed to ...
135         (convert_boz): ... this and moved to start of file.
136         (gfc_simplify_abs): Whitespace fix.
137         (gfc_simplify_acos): Whitespace fix.
138         (gfc_simplify_acosh): Whitespace fix.
139         (gfc_simplify_aint): Whitespace fix.
140         (gfc_simplify_dint): Whitespace fix.
141         (gfc_simplify_anint): Whitespace fix.
142         (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
143         (gfc_simplify_dnint): Whitespace fix.
144         (gfc_simplify_asin): Whitespace fix.
145         (gfc_simplify_asinh): Moved creation of result-expr out of switch.
146         (gfc_simplify_atan): Likewise.
147         (gfc_simplify_atanh): Whitespace fix.
148         (gfc_simplify_atan2): Whitespace fix.
149         (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
150         (gfc_simplify_bessel_j1): Likewise.
151         (gfc_simplify_bessel_jn): Likewise.
152         (gfc_simplify_bessel_y0): Likewise.
153         (gfc_simplify_bessel_y1): Likewise.
154         (gfc_simplify_bessel_yn): Likewise.
155         (gfc_simplify_ceiling): Reorderd statements.
156         (simplify_cmplx): Use convert_boz(), check for constant arguments.
157         Whitespace fix.
158         (gfc_simplify_cmplx): Use correct default kind. Removed check for
159         constant arguments.
160         (gfc_simplify_complex): Replaced if-gate. Removed check for
161         constant arguments.
162         (gfc_simplify_conjg): Whitespace fix.
163         (gfc_simplify_cos): Whitespace fix.
164         (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
165         (gfc_simplify_dcmplx): Removed check for constant arguments.
166         (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
167         (gfc_simplify_digits): Whitespace fix.
168         (gfc_simplify_dim): Whitespace fix.
169         (gfc_simplify_dprod): Reordered statements.
170         (gfc_simplify_erf): Whitespace fix.
171         (gfc_simplify_erfc): Whitespace fix.
172         (gfc_simplify_epsilon): Whitespace fix.
173         (gfc_simplify_exp): Whitespace fix.
174         (gfc_simplify_exponent): Use convert_boz().
175         (gfc_simplify_floor): Reorderd statements.
176         (gfc_simplify_gamma): Whitespace fix.
177         (gfc_simplify_huge): Whitespace fix.
178         (gfc_simplify_iand): Whitespace fix.
179         (gfc_simplify_ieor): Whitespace fix.
180         (simplify_intconv): Use gfc_convert_constant().
181         (gfc_simplify_int): Use simplify_intconv().
182         (gfc_simplify_int2): Reorderd statements.
183         (gfc_simplify_idint): Reorderd statements.
184         (gfc_simplify_ior): Whitespace fix.
185         (gfc_simplify_ishftc): Removed duplicate type check.
186         (gfc_simplify_len): Use range_check() instead of manual range check.
187         (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
188         (gfc_simplify_log): Whitespace fix.
189         (gfc_simplify_log10): Whitespace fix.
190         (gfc_simplify_minval): Whitespace fix.
191         (gfc_simplify_maxval): Whitespace fix.
192         (gfc_simplify_mod): Whitespace fix.
193         (gfc_simplify_modulo): Whitespace fix.
194         (simplify_nint): Reorderd statements.
195         (gfc_simplify_not): Whitespace fix.
196         (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
197         (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
198         (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
199         (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
200         (gfc_simplify_realpart): Whitespace fix.
201         (gfc_simplify_selected_char_kind): Removed unused result-variable.
202         (gfc_simplify_selected_int_kind): Removed unused result-variable.
203         (gfc_simplify_selected_real_kind): Removed unused result-variable.
204         (gfc_simplify_sign): Whitespace fix.
205         (gfc_simplify_sin): Whitespace fix.
206         (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
207         (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
208         (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
209         (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
210         (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
211
212 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
213
214         * gfortran.h (gfc_start_constructor): Removed.
215         (gfc_get_array_element): Removed.
216         * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr 
217         instead. Fixed all callers.
218         (extract_element): Removed.
219         (gfc_expand_constructor): Temporarily removed check for
220         max-array-constructor. Will be re-introduced later if still required.
221         (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
222         instead. Fixed all callers.
223         * expr.c (find_array_section): Replaced manual lookup of elements
224         by gfc_constructor_lookup.
225
226 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
227
228         * gfortran.h (gfc_get_null_expr): New prototype.
229         (gfc_get_operator_expr): New prototype.
230         (gfc_get_character_expr): New prototype.
231         (gfc_get_iokind_expr): New prototype.
232         * expr.c (gfc_get_null_expr): New.
233         (gfc_get_character_expr): New.
234         (gfc_get_iokind_expr): New.
235         (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
236         * matchexp.c (build_node): Renamed and moved to
237         expr.c (gfc_get_operator_expr). Reordered arguments to match 
238         other functions. Fixed all callers.
239         (gfc_get_parentheses): Use specific function to build expr.
240         * array.c (gfc_match_array_constructor): Likewise.
241         * arith.c (eval_intrinsic): Likewise.
242         (gfc_hollerith2int): Likewise.
243         (gfc_hollerith2real): Likewise.
244         (gfc_hollerith2complex): Likewise.
245         (gfc_hollerith2logical): Likewise.
246         * data.c (create_character_intializer): Likewise.
247         * decl.c (gfc_match_null): Likewise.
248         (enum_initializer): Likewise.
249         * io.c (gfc_match_format): Likewise.
250         (match_io): Likewise.
251         * match.c (gfc_match_nullify): Likewise.
252         * primary.c (match_string_constant): Likewise.
253         (match_logical_constant): Likewise.
254         (build_actual_constructor): Likewise.
255         * resolve.c (build_default_init_expr): Likewise.
256         * symbol.c (generate_isocbinding_symbol): Likewise.
257         (gfc_build_class_symbol): Likewise.
258         (gfc_find_derived_vtab): Likewise.
259         * simplify.c (simplify_achar_char): Likewise.
260         (gfc_simplify_adjustl): Likewise.
261         (gfc_simplify_adjustr): Likewise.
262         (gfc_simplify_and): Likewise.
263         (gfc_simplify_bit_size): Likewise.
264         (gfc_simplify_is_iostat_end): Likewise.
265         (gfc_simplify_is_iostat_eor): Likewise.
266         (gfc_simplify_isnan): Likewise.
267         (simplify_bound): Likewise.
268         (gfc_simplify_leadz): Likewise.
269         (gfc_simplify_len_trim): Likewise.
270         (gfc_simplify_logical): Likewise.
271         (gfc_simplify_maxexponent): Likewise.
272         (gfc_simplify_minexponent): Likewise.
273         (gfc_simplify_new_line): Likewise.
274         (gfc_simplify_null): Likewise.
275         (gfc_simplify_or): Likewise.
276         (gfc_simplify_precision): Likewise.
277         (gfc_simplify_repeat): Likewise.
278         (gfc_simplify_scan): Likewise.
279         (gfc_simplify_size): Likewise.
280         (gfc_simplify_trailz): Likewise.
281         (gfc_simplify_trim): Likewise.
282         (gfc_simplify_verify): Likewise.
283         (gfc_simplify_xor): Likewise.
284         * trans-io.c (build_dt): Likewise.
285         (gfc_new_nml_name_expr): Removed.
286
287 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
288
289         * arith.h (gfc_constant_result): Removed prototype.
290         * constructor.h (gfc_build_array_expr): Removed prototype.
291         (gfc_build_structure_constructor_expr): Removed prototype.
292         * gfortran.h (gfc_int_expr): Removed prototype.
293         (gfc_logical_expr): Removed prototype.
294         (gfc_get_array_expr): New prototype.
295         (gfc_get_structure_constructor_expr): New prototype.
296         (gfc_get_constant_expr): New prototype.
297         (gfc_get_int_expr): New prototype.
298         (gfc_get_logical_expr): New prototype.
299         * arith.c (gfc_constant_result): Moved and renamed to
300         expr.c (gfc_get_constant_expr). Fixed all callers.
301         * constructor.c (gfc_build_array_expr): Moved and renamed to
302         expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
303         and kind. Fixed all callers.
304         (gfc_build_structure_constructor_expr): Moved and renamed to
305         expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
306         to type and kind. Fixed all callers.
307         * expr.c (gfc_logical_expr): Renamed to ...
308         (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
309         (gfc_int_expr): Renamed to ...
310         (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
311         callers.
312         (gfc_get_constant_expr): New.
313         (gfc_get_array_expr): New.
314         (gfc_get_structure_constructor_expr): New.
315         * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
316         instead.
317
318 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
319
320         * constructor.h: New.
321         * constructor.c: New.
322         * Make-lang.in: Add new files to F95_PARSER_OBJS.
323         * arith.c (reducy_unary): Use constructor API.
324         (reduce_binary_ac): Likewise.
325         (reduce_binary_ca): Likewise.
326         (reduce_binary_aa): Likewise.
327         * check.c (gfc_check_pack): Likewise.
328         (gfc_check_reshape): Likewise.
329         (gfc_check_unpack): Likewise.
330         * decl.c (add_init_expr_to_sym): Likewise.
331         (build_struct): Likewise.
332         * dependency.c (gfc_check_dependency): Likewise.
333         (contains_forall_index_p): Likewise.
334         * dump-parse-tree.c (show_constructor): Likewise.
335         * expr.c (free_expr0): Likewise.
336         (gfc_copy_expr): Likewise.
337         (gfc_is_constant_expr): Likewise.
338         (simplify_constructor): Likewise.
339         (find_array_element): Likewise.
340         (find_component_ref): Likewise.
341         (find_array_section): Likewise.
342         (find_substring_ref): Likewise.
343         (simplify_const_ref): Likewise.
344         (scalarize_intrinsic_call): Likewise.
345         (check_alloc_comp_init): Likewise.
346         (gfc_default_initializer): Likewise.
347         (gfc_traverse_expr): Likewise.
348         * iresolve.c (check_charlen_present): Likewise.
349         (gfc_resolve_reshape): Likewise.
350         (gfc_resolve_transfer): Likewise.
351         * module.c (mio_constructor): Likewise.
352         * primary.c (build_actual_constructor): Likewise.
353         (gfc_match_structure_constructor): Likewise.
354         * resolve.c (resolve_structure_cons): Likewise.
355         * simplify.c (is_constant_array_expr): Likewise.
356         (init_result_expr): Likewise.
357         (transformational_result): Likewise.
358         (simplify_transformation_to_scalar): Likewise.
359         (simplify_transformation_to_array): Likewise.
360         (gfc_simplify_dot_product): Likewise.
361         (simplify_bound): Likewise.
362         (simplify_matmul): Likewise.
363         (simplify_minval_maxval): Likewise.
364         (gfc_simplify_pack): Likewise.
365         (gfc_simplify_reshape): Likewise.
366         (gfc_simplify_shape): Likewise.
367         (gfc_simplify_spread): Likewise.
368         (gfc_simplify_transpose): Likewise.
369         (gfc_simplify_unpack): Likewise.q
370         (gfc_convert_constant): Likewise.
371         (gfc_convert_char_constant): Likewise.
372         * target-memory.c (size_array): Likewise.
373         (encode_array): Likewise.
374         (encode_derived): Likewise.
375         (interpret_array): Likewise.
376         (gfc_interpret_derived): Likewise.
377         (expr_to_char): Likewise.
378         (gfc_merge_initializers): Likewise.
379         * trans-array.c (gfc_get_array_constructor_size): Likewise.
380         (gfc_trans_array_constructor_value): Likewise.
381         (get_array_ctor_strlen): Likewise.
382         (gfc_constant_array_constructor_p): Likewise.
383         (gfc_build_constant_array_constructor): Likewise.
384         (gfc_trans_array_constructor): Likewise.
385         (gfc_conv_array_initializer): Likewise.
386         * trans-decl.c (check_constant_initializer): Likewise.
387         * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
388         (gfc_apply_interface_mapping_to_cons): Likewise.
389         (gfc_trans_structure_assign): Likewise.
390         (gfc_conv_structure): Likewise.
391         * array.c (check_duplicate_iterator): Likewise.
392         (match_array_list): Likewise.
393         (match_array_cons_element): Likewise.
394         (gfc_match_array_constructor): Likewise.
395         (check_constructor_type): Likewise.
396         (check_constructor): Likewise.
397         (expand): Likewise.
398         (expand_constructor): Likewise.
399         (extract_element): Likewise.
400         (gfc_expanded_ac): Likewise.
401         (resolve_array_list): Likewise.
402         (gfc_resolve_character_array_constructor): Likewise.
403         (copy_iterator): Renamed to ...
404         (gfc_copy_iterator): ... this.
405         (gfc_append_constructor): Removed.
406         (gfc_insert_constructor): Removed unused function.
407         (gfc_get_constructor): Removed.
408         (gfc_free_constructor): Removed.
409         (qgfc_copy_constructor): Removed.
410         * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
411         Removed all references. Replaced constructor list by splay-tree.
412         (struct gfc_constructor): Removed member 'next', moved 'offset' from
413         the inner struct, added member 'base'.
414         (gfc_append_constructor): Removed prototype.
415         (gfc_insert_constructor): Removed prototype.
416         (gfc_get_constructor): Removed prototype.
417         (gfc_free_constructor): Removed prototype.
418         (qgfc_copy_constructor): Removed prototype.
419         (gfc_copy_iterator): New prototype.
420         * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
421
422 2010-04-10  Tobias Burnus  <burnus@net-b.de>
423
424         PR fortran/43591
425         * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
426         proc-pointers and type-bound procedures.
427         (gfc_specification_expr): Check proc-pointers for pureness.
428
429 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
430
431         PR bootstrap/43684
432         * gfortranspec.c (lang_specific_driver): Do not expose vars 
433         only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
434         for such.
435
436 2010-04-09  Tobias Burnus  <burnus@net-b.de>
437
438         PR fortran/18918
439         * decl.c (variable_decl, match_attr_spec): Fix setting the array
440         spec.
441         * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
442         * data.c (gfc_assign_data_value): Ditto.
443         * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
444         (gfc_traverse_expr): Traverse also through codimension expressions.
445         (gfc_is_coindexed, gfc_has_ultimate_allocatable,
446         gfc_has_ultimate_pointer): New functions.
447         * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
448         (gfc_array_ref): Add codimen.
449         (gfc_array_ref): Add in_allocate.
450         (gfc_is_coindexed, gfc_has_ultimate_allocatable,
451         gfc_has_ultimate_pointer): Add prototypes.
452         * interface.c (compare_parameter, compare_actual_formal,
453         check_intents): Add coarray constraints.
454         * match.c (gfc_match_iterator): Add coarray constraint.
455         * match.h (gfc_match_array_ref): Update interface.
456         * primary.c (gfc_match_varspec): Handle codimensions.
457         * resolve.c (coarray_alloc, inquiry_argument): New static variables.
458         (check_class_members): Return gfc_try instead for error recovery.
459         (resolve_typebound_function,resolve_typebound_subroutine,
460         check_members): Handle return value of check_class_members.
461         (resolve_structure_cons, resolve_actual_arglist, resolve_function,
462         check_dimension, compare_spec_to_ref, resolve_array_ref,
463         resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
464         resolve_allocate_expr, resolve_ordinary_assign): Add coarray
465         support.
466         * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
467         Skip over coarray refs.
468         (gfc_array_allocate) Add support for references containing coindexes.
469         * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
470         (gfc_map_intrinsic_function): Ignore codimensions.
471
472 2010-04-08  Bud Davis  <bdavis9659@sbcglobal.net>
473
474         PR fortran/28039
475         * io.c (check_format_string):  Added check for additional non 
476         blank characters after the format string was successfully 
477         parsed.
478         * io.c (check_format): Changed the error messages for positive
479         int required and period required to drop through the error logic
480         and report with gfc_error instead of gfc_error_now.  Corrected
481         format postion for hollerith strings.
482
483 2010-04-08  Tobias Burnus  <burnus@net-b.de>
484
485         * module.c (use_iso_fortran_env_module): Fix standard check.
486
487 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
488
489         * parse.c (parse_derived, parse_enum): Avoid set but not used
490         warning.
491
492 2010-04-07  Janne Blomqvist  <jb@gcc.gnu.org>
493
494         PR fortran/40539
495         * gfortran.texi: Add section about representation of
496         LOGICAL variables.
497
498 2010-04-07  Simon Baldwin  <simonb@google.com>
499
500         * cpp.c (cb_cpp_error): Add warning reason argument, set a value
501         for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
502
503 2010-04-07  Richard Guenther  <rguenther@suse.de>
504
505         * options.c (gfc_init_options): Do not set.
506
507 2010-04-06  Tobias Burnus  <burnus@net-b.de>
508
509         PR fortran/18918
510         * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
511         * match.c (gfc_match_critical, sync_statement): Ditto.
512         * gfortran.h (gfc_fcoarray): New enum.
513         (gfc_option_t): Use it.
514         * lang.opt (fcoarray): Add new flag.
515         * invoke.texi (fcoarray): Document it.
516         * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
517         (gfc_handle_coarray_option): New function.
518
519 2010-04-06  Tobias Burnus  <burnus@net-b.de>
520
521         PR fortran/18918
522         * gfortran.h (gfc_array_spec): Add cotype.
523         * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
524         and defer error diagnostic.
525         * resolve.c (resolve_fl_derived): Add missing check.
526         (resolve_symbol): Add cotype/type check.
527         * parse.c (parse_derived): Fix setting of coarray_comp.
528
529 2010-04-06  Tobias Burnus  <burnus@net-b.de>
530
531         PR fortran/18918
532         * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
533         match_array_element_spec,gfc_copy_array_spec,
534         gfc_compare_array_spec): Include corank.
535         (match_array_element_spec,gfc_set_array_spec): Support codimension.
536         * decl.c (build_sym,build_struct,variable_decl,
537         match_attr_spec,attr_decl1,cray_pointer_decl,
538         gfc_match_volatile): Add codimension.
539         (gfc_match_codimension): New function.
540         * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
541         * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
542         (gfc_add_codimension): New function prototype.
543         * match.h (gfc_match_codimension): New function prototype.
544         (gfc_match_array_spec): Update prototype
545         * match.c (gfc_match_common): Update gfc_match_array_spec call.
546         * module.c (MOD_VERSION): Bump.
547         (mio_symbol_attribute): Support coarray attributes.
548         (mio_array_spec): Add corank support.
549         * parse.c (decode_specification_statement,decode_statement,
550         parse_derived): Add coarray support.
551         * resolve.c (resolve_formal_arglist, was_declared,
552         is_non_constant_shape_array, resolve_fl_variable,
553         resolve_fl_derived, resolve_symbol): Add coarray support.
554         * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
555         gfc_build_class_symbol): Add coarray support.
556         (gfc_add_codimension): New function.
557
558 2010-04-06  Tobias Burnus  <burnus@net-b.de>
559
560         PR fortran/18918
561         * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
562         atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
563         stat_locked_other_image, stat_stopped_image and stat_unlocked of
564         Fortran 2008.
565         * intrinsic.texi (iso_fortran_env): Ditto.
566         * libgfortran.h (libgfortran_stat_codes): New enum.
567         * module.c (use_iso_fortran_env_module): Honour -std= when loading
568         constants from the intrinsic module.
569
570 2010-04-06  Tobias Burnus  <burnus@net-b.de>
571
572         PR fortran/39997
573         * intrinsic.c (add_functions): Add num_images.
574         * decl.c (gfc_match_end): Handle END CRITICAL.
575         * intrinsic.h (gfc_simplify_num_images): Add prototype.
576         * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
577         and SYNC.
578         * gfortran.h (gfc_statement): Add enum items for those.
579         (gfc_exec_op) Ditto.
580         (gfc_isym_id): Add num_images.
581         * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
582         (gfc_trans_sync,gfc_trans_critical): New functions.
583         * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
584         gfc_trans_critical): Add/update prototypes.
585         * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
586         and SYNC statements.
587         * trans.h (gfor_fndecl_error_stop_string) Add variable.
588         * resolve.c (resolve_sync): Add function.
589         (gfc_resolve_blocks): Handle CRITICAL.
590         (resolve_code): Handle CRITICAL, ERROR STOP,
591         (resolve_branch): Add CRITICAL constraint check.
592         and SYNC statements.
593         * st.c (gfc_free_statement): Add new statements.
594         * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
595         (gfc_build_builtin_function_decls): Initialize it.
596         * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
597         (gfc_match_critical, gfc_match_error_stop, sync_statement,
598         gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
599         New functions.
600         (match_exit_cycle): Handle CRITICAL constraint.
601         (gfc_match_stopcode): Handle ERROR STOP.
602         * match.h (gfc_match_critical, gfc_match_error_stop,
603         gfc_match_sync_all, gfc_match_sync_images,
604         gfc_match_sync_memory): Add prototype.
605         * parse.c (decode_statement, gfc_ascii_statement,
606         parse_executable): Handle new statements.
607         (parse_critical_block): New function.
608         * parse.h (gfc_compile_state): Add COMP_CRITICAL.
609         * intrinsic.texi (num_images): Document new function.
610         * simplify.c (gfc_simplify_num_images): Add function.
611
612 2010-04-06  Tobias Burnus  <burnus@net-b.de>
613
614         PR fortran/43178
615         * trans-array.c (gfc_conv_expr_descriptor): Update
616         gfc_trans_scalar_assign call.
617         (has_default_initializer): New function.
618         (gfc_trans_deferred_array): Nullify less often.
619         * trans-expr.c (gfc_conv_subref_array_arg,
620         gfc_trans_subcomponent_assign): Update call to
621         gfc_trans_scalar_assign.
622         (gfc_trans_scalar_assign): Add parameter and pass it on.
623         (gfc_trans_assignment_1): Optionally, do not dealloc before
624         assignment.
625         * trans-openmp.c (gfc_trans_omp_array_reduction): Update
626         call to gfc_trans_scalar_assign.
627         * trans-decl.c (gfc_get_symbol_decl): Do not always apply
628         initializer to static variables.
629         (gfc_init_default_dt): Add dealloc parameter and pass it on.
630         * trans-stmt.c (forall_make_variable_temp,
631         generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
632         gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
633         gfc_trans_allocate): Update gfc_trans_assignment call.
634         * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
635         gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
636         parameter to prototype.
637
638 2010-03-31  Paul Thomas  <pault@gcc.gnu.org>
639
640         * ioparm.def : Update copyright.
641         * lang.opt : ditto
642         * trans-array.c : ditto
643         * trans-array.h : ditto
644         * expr.c: ditto
645         * trans-types.c: ditto
646         * dependency.c : ditto
647         * gfortran.h : ditto
648         * options.c : ditto
649         * trans-io.c : ditto
650         * trans-intrinsic.c : ditto
651         * libgfortran.h : ditto
652         * invoke.texi : ditto
653         * intrinsic.texi : ditto
654         * trans.c : ditto
655         * trans.h : ditto
656         * intrinsic.c : ditto
657         * interface.c : ditto
658         * iresolve.c : ditto
659         * trans-stmt.c : ditto
660         * trans-stmt.h : ditto
661         * parse,c : ditto
662         * match.h : ditto
663         * error.c : ditto
664
665 2010-03-20  Paul Thomas  <pault@gcc.gnu.org>
666
667         PR fortran/43450
668         * trans-decl.c (gfc_create_module_variable): With -fwhole-file
669         do not assert the context of derived types.
670
671 2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
672
673         PR fortran/43409
674         * ioparm.def: Change inquire size variable to type pointer to
675         GFC_IO_INT type.
676
677 2010-03-18  Paul Thomas  <pault@gcc.gnu.org>
678
679         PR fortran/43039
680         * trans-expr.c (conv_parent_component_references): Ensure that
681         'dt' has a backend_decl.
682
683         PR fortran/43043
684         * trans-expr.c (gfc_conv_structure): Ensure that the derived
685         type has a backend_decl.
686
687         PR fortran/43044
688         * resolve.c (resolve_global_procedure): Check that the 'cl'
689         structure is not NULL.
690
691 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
692
693         * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
694         redundant tab.
695
696 2010-03-17  Tobias Burnus  <burnus@net-b.de>
697
698         PR fortran/43331
699         * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
700         gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
701         check.
702         * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
703         pointees as having explizit size.
704         * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
705         check.
706         * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
707         (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
708         * resolve.c (resolve_symbol): Handle cp_was_assumed.
709         * trans-decl.c (gfc_trans_deferred_vars): Ditto.
710         (gfc_finish_var_decl): Don't mark Cray pointees as restricted
711         pointers.
712
713 2010-03-14  Tobias Burnus  <burnus@net-b.de>
714
715         PR fortran/43362
716         * resolve.c (resolve_structure_cons): Add missing PURE constraint.
717         (resolve_ordinary_assign): Add check to avoid segfault.
718
719 2010-03-12  Paul Thomas  <pault@gcc.gnu.org>
720
721         PR fortran/43291
722         PR fortran/43326
723         * resolve.c (resolve_compcall): Add new boolean dummy argument
724         'class_members'. Only resolve expression at end if false.
725         Remove redundant, static variable 'class_object'.
726         (check_class_members): Add extra argument to call of
727         resolve_compcall.
728         (resolve_typebound_function): Renamed resolve_class_compcall.
729         Do all the detection of class references here. Correct calls to
730         resolve_compcall for extra argument.
731         (resolve_typebound_subroutine): resolve_class_typebound_call
732         renamed. Otherwise same as resolve_typebound_function.
733         (gfc_resolve_expr): Call resolve_typebound_function.
734         (resolve_code): Call resolve_typebound_subroutine.
735
736 2010-03-10  Tobias Burnus  <burnus@net-b.de
737
738         PR fortran/43303
739         * symbol.c (get_iso_c_sym): Set sym->result.
740
741 2010-03-08  Janus Weil  <janus@gcc.gnu.org>
742
743         PR fortran/43256
744         * resolve.c (resolve_compcall): Don't set 'value.function.name' here
745         for TBPs, otherwise they will not be resolved properly.
746         (resolve_function): Use 'value.function.esym' instead of
747         'value.function.name' to check if we're dealing with a TBP.
748         (check_class_members): Set correct type of passed object for all TBPs,
749         not only generic ones, except if the type is abstract.
750
751 2010-03-04  Janus Weil  <janus@gcc.gnu.org>
752
753         PR fortran/43244
754         * decl.c (gfc_match_final_decl): Make sure variable names starting with
755         'final...' are not misinterpreted as FINAL statements.
756
757 2010-03-03  Paul Thomas  <pault@gcc.gnu.org>
758
759         PR fortran/43243
760         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
761         allocatable ultimate components do not need temporaries, whilst
762         ultimate pointer components do.
763
764 2010-03-03  Janus Weil  <janus@gcc.gnu.org>
765
766         PR fortran/43169
767         * resolve.c (resolve_code): Correctly set gfc_current_ns for
768         EXEC_SELECT_TYPE.
769         (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
770         (gfc_pure): Ditto.
771
772 2010-03-02  Paul Thomas  <pault@gcc.gnu.org>
773
774         PR fortran/43180
775         * trans-array.c (gfc_conv_array_parameter): A full array of
776         derived type need not be restricted to a symbol without an
777         array spec to use the call to gfc_conv_expr_descriptor.
778
779         PR fortran/43173
780         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
781         allocatable arrays do not need temporaries.
782
783 2010-03-01  Tobias Burnus  <burnus@net-b.de>
784
785         PR fortran/43199
786         * resolve.c (find_array_spec): Handle REF_COMPONENT with
787         CLASS components.
788
789 2010-02-28  Tobias Burnus  <burnus@net-b.de>
790
791         PR fortran/43205
792         * trans-expr.c (is_zero_initializer_p): Move up in the file.
793         (gfc_conv_initializer): Handle zero initializer as special case.
794
795 2010-02-27  Tobias Burnus  <burnus@net-b.de>
796
797         PR fortran/43185
798         * resolve.c (resolve_fl_variable_derived): Imply SAVE
799         for module variables for Fortran 2008.
800
801 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
802
803         PR debug/43166
804         * trans-common.c (build_common_decl): Also update DECL_MODE,
805         and DECL_SIZE when encountering a larger common block and call
806         layout_decl.
807
808 2010-02-24  Tobias Burnus  <burnus@net-b.de>              
809
810         PR fortran/43042
811         * trans-expr.c (gfc_conv_initializer): Call directly
812         gfc_conv_constant for C_NULL_(FUN)PTR.              
813
814 2010-02-22  Paul Thomas  <pault@gcc.gnu.org>
815
816         PR fortran/43072
817         * dependency.c (gfc_full_array_ref_p): Check for contiguous by
818         checking the rest of the dimensions for elements.
819
820 2010-02-21  Tobias Burnus  <burnus@net-b.de>
821
822         PR fortran/35259
823         * gfortran.h (gfc_option_t): New flag -fprotect-parens.
824         * lang.opt: Ditto.
825         * option.c (gfc_init_options,gfc_handle_option): Ditto.
826         * trans-expr.c (gfc_conv_expr_op): Use the flag.
827         * invoke.texi: Document new -fno-protect-parens flag.
828
829 2010-02-20  Paul Thomas  <pault@gcc.gnu.org>
830
831         PR fortran/36932
832         PR fortran/36933
833         PR fortran/43072
834         PR fortran/43111
835         * dependency.c (gfc_check_argument_var_dependency): Use enum
836         value instead of arithmetic vaue for 'elemental'.
837         (check_data_pointer_types): New function.
838         (gfc_check_dependency): Call check_data_pointer_types.
839         * trans-array.h : Change fourth argument of
840         gfc_conv_array_parameter to boolean.
841         * trans-array.c (gfc_conv_array_parameter): A contiguous array
842         can be a dummy but it must not be assumed shape or deferred.
843         Change fourth argument to boolean. Array constructor exprs will
844         always be contiguous and do not need packing and unpacking.
845         * trans-expr.c (gfc_conv_procedure_call): Clean up some white
846         space and change fourth argument of gfc_conv_array_parameter
847         to boolean.
848         (gfc_trans_arrayfunc_assign): Change fourth argument of
849         gfc_conv_array_parameter to boolean.
850         * trans-io.c (gfc_convert_array_to_string): The same.
851         * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
852
853 2010-02-20  Tobias Burnus  <burnus@net-b.de>
854
855         PR fortran/42958
856         * libgfortran.h: Add GFC_RTCHECK_MEM.
857         * invoke.texi (-fcheck=): Document -fcheck=mem.
858         * tranc.c (gfc_call_malloc): Remove negative-size run-time error
859         and enable malloc-success check only with -fcheck=mem.
860         * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
861
862 2010-02-16  Tobias Burnus  <burnus@net-b.de>
863
864         PR fortran/43040
865         * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
866         * intrinsic.c (add_functions): Ditto.
867         * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
868         * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
869
870 2010-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
871
872         PR fortran/32382
873         * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
874         gfc_trans_do prototype.
875         * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
876         a loop exit condition.  If exit condition is given, build the loop exit
877         code, checking IO results of implied do loops in READ and WRITE.
878         (gfc_trans_do): Likewise.
879         * trans.c (trans_code): New static work function, previously
880         gfc_trans_code. Passes exit condition to gfc_trans_do.
881         (gfc_trans_code): Calls trans_code with NULL_TREE condition.
882         (gfc_trans_code_cond): Calls trans_code with loop exit condition.
883         * trans-io.c (build_dt): Build an exit condition to allow checking IO
884         result status bits in the dtparm structure. Use this condition in call
885         to gfc_trans_code_cond.
886
887 2010-02-13  Paul Thomas  <pault@gcc.gnu.org>
888
889         PR fortran/41113
890         PR fortran/41117
891         * trans-array.c (gfc_conv_array_parameter): Use
892         gfc_full_array_ref_p to detect full and contiguous variable
893         arrays. Full array components and contiguous arrays do not need
894         internal_pack and internal_unpack.
895
896 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
897
898         PR fortran/43030
899         * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
900
901         PR fortran/43029
902         * decl.c (enumerator_decl): Don't call gfc_free_enum_history
903         here.
904         (gfc_match_enumerator_def): But here whenever enumerator_decl returns
905         MATCH_ERROR.
906
907 2010-02-10  Joost VandeVondele <jv244@cam.ac.uk>
908             Tobias Burnus <burnus@net-b.de>
909
910         PR fortran/40823
911         * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
912
913 2010-02-10  Tobias Burnus  <burnus@net-b.de>
914
915         PR fortran/43015
916         * trans-decl.c (gfc_generate_function_code): Only check
917         actual-vs.-dummy character bounds if not bind(C).
918
919 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
920
921         PR fortran/42309
922         * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
923         info->dimen after info has been freed.
924
925 2010-02-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
926
927         PR fortran/42999
928         * array.c (gfc_constant_ac): Do not prevent expansion of constructors
929         with iterators.
930
931 2010-02-09  Jakub Jelinek  <jakub@redhat.com>
932
933         * module.c (fix_mio_expr): Declare sym.
934
935 2010-02-09  Paul Thomas  <pault@gcc.gnu.org>
936
937         PR fortran/41869
938         * module.c (fix_mio_expr): Fix for private generic procedures.
939
940 2010-02-09  Daniel Kraft  <d@domob.eu>
941
942         PR fortran/39171
943         * resolve.c (resolve_charlen): Change warning about negative CHARACTER
944         length to be correct and issue only with -Wsurprising.
945         * invoke.texi (Wsurprising): Mention this new warning that is
946         turned on by -Wsurprising.
947
948 2010-02-09  Daniel Kraft  <d@domob.eu>
949
950         PR fortran/41507
951         * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
952         can be CHARACTER type.
953         (MINVAL), (MAXLOC), (MINLOC): Ditto.
954
955 2010-02-05  Paul Thomas  <pault@gcc.gnu.org>
956
957         PR fortran/42309
958         * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
959         'formal_ptr'. If this is true, give returned descriptor unity
960         lbounds, in all dimensions, and the appropriate offset.
961         (gfc_conv_procedure_call); If formal is a pointer, set the last
962         argument of gfc_conv_subref_array_arg to true.
963         * trans.h : Add last argument for gfc_conv_subref_array_arg.
964         * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
965         new arg of gfc_conv_subref_array_arg to false.
966         * trans-stmt.c (forall_make_variable_temp): The same.
967
968 2010-02-03  Tobias Burnus  <burnus@net-b.de>
969
970         PR fortran/42936
971         * interface.c (compare_parameter): Disable rank-checking
972         for NULL().
973
974 2010-02-02  Tobias Burnus  <burnus@net-b.de>
975
976         PR fortran/42650
977         * parse.c (decode_specification_statement): Use sym->result not sym.
978
979 2010-02-01  Tobias Burnus  <burnus@net-b.de>
980
981         PR fortran/42922
982         * decl.c (variable_decl): Allow default initializer in
983         TYPE declarations in PURE functions.
984
985 2010-01-31  Janus Weil  <janus@gcc.gnu.org>
986
987         PR fortran/42888
988         * resolve.c (resolve_allocate_expr): Move default initialization code
989         here from gfc_trans_allocate.
990         * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
991         EXEC_INIT_ASSIGN.
992         * trans-expr.c (gfc_trans_class_assign): Handle default initialization
993         of CLASS variables via memcpy.
994         * trans-stmt.c (gfc_trans_allocate): Move default initialization code
995         to resolve_allocate_expr.
996
997 2010-01-31  Paul Thomas  <pault@gcc.gnu.org>
998
999         PR fortran/38324
1000         * expr.c (gfc_get_full_arrayspec_from_expr): New function.
1001         * gfortran.h : Add prototype for above.
1002         * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
1003         (gfc_trans_subcomponent_assign): Call new function to replace
1004         the code to deal with allocatable components.
1005         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
1006         gfc_get_full_arrayspec_from_expr to replace existing code.
1007
1008 2010-01-25  Tobias Burnus  <burnus@net-b.de>
1009
1010         PR fortran/42858
1011         * array.c (gfc_array_dimen_size): Fix intrinsic procedure
1012         check.
1013
1014 2010-01-24  Paul Thomas  <pault@gcc.gnu.org>
1015
1016         PR fortran/41044
1017         PR fortran/41167
1018         * expr.c (remove_subobject_ref): If the constructor is NULL use
1019         the expression as the source.
1020         (simplify_const_ref): Change the type of expression if
1021         there are component references.  Allow for substring to be at
1022         the end of an arbitrarily long chain of references.  If an
1023         element is found that is not in an EXPR_ARRAY, assume that this
1024         is scalar initialization of array. Call remove_subobject_ref in
1025         this case with NULL second argument.
1026
1027 2010-01-24  Tobias Burnus  <burnus@net-b.de>
1028
1029         PR fortran/39304
1030         * array.c (gfc_array_dimen_size): Use correct specific
1031         function in the check.
1032
1033 2010-01-21  Paul Thomas  <pault@gcc.gnu.org>
1034
1035         PR fortran/42736
1036         * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
1037         is required, turn any trailing array elements after a range
1038         into ranges so that offsets can be calculated.
1039
1040 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
1041
1042         * module.c (mio_f2k_derived): Use enumerator as initializer of
1043         enum variable.
1044
1045         PR bootstrap/42812
1046         * gfortran.h  (struct gfc_namespace) <resolved>: Change to signed
1047         bitfield of width 2.
1048
1049 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
1050
1051         PR fortran/42804
1052         * resolve.c (extract_compcall_passed_object): Set locus for
1053         passed-object argument.
1054         (extract_ppc_passed_object): Set locus and correctly remove PPC
1055         reference.
1056
1057 2010-01-19  Paul Thomas  <pault@gcc.gnu.org>
1058
1059         PR fortran/42783
1060         * trans-decl.c (add_argument_checking): Do not use the backend
1061         decl directly to test for the presence of an optional dummy
1062         argument.  Use gfc_conv_expr_present, remembering to set the
1063         symbol referenced.
1064
1065         PR fortran/42772
1066         * trans-decl.c (gfc_generate_function_code): Small white space
1067         changes. If 'recurcheckvar' is NULL do not try to reset it.
1068
1069 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
1070
1071         PR fortran/42545
1072         * resolve.c (resolve_fl_derived): Set the accessibility of the parent
1073         component for extended types.
1074         * symbol.c (gfc_find_component): Remove a wrongly-worded error message
1075         and take care of parent component accessibility.
1076
1077 2010-01-17  Janus Weil  <janus@gcc.gnu.org>
1078
1079         PR fortran/42677
1080         * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
1081         * interface.c (check_interface1): Move a warning message here from
1082         resolve_fl_procedure.
1083         (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
1084         * module.c (read_module): Remove call to gfc_check_interfaces, since
1085         this comes too early here.
1086         * resolve.c (resolve_fl_procedure): Move warning message to
1087         check_interface1.
1088
1089 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1090
1091         PR fortran/42684
1092         * interface.c (check_interface1): Pass symbol name rather than NULL to
1093         gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
1094         trap MULL.
1095         * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
1096         than NULL to gfc_compare_interfaces.
1097
1098 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
1099
1100         PR fortran/41478
1101         * trans-array.c (duplicate_allocatable):  Static version of
1102         gfc_duplicate_allocatable with provision to handle scalar
1103         components. New boolean argument to switch off call to malloc
1104         if true.
1105         (gfc_duplicate_allocatable): New function to call above with
1106         new argument false.
1107         (gfc_copy_allocatable_data): New function to call above with
1108         new argument true.
1109         (structure_alloc_comps): Do not apply indirect reference to
1110         scalar pointers. Add new section to copy allocatable components
1111         of arrays. Extend copying of allocatable components to include
1112         scalars.
1113         (gfc_copy_only_alloc_comp): New function to copy allocatable
1114         component derived types, without allocating the base structure.
1115         * trans-array.h : Add primitive for gfc_copy_allocatable_data.
1116         Add primitive for gfc_copy_only_alloc_comp.
1117         * trans-expr.c (gfc_conv_procedure_call): After calls to
1118         transformational functions with results that are derived types
1119         with allocatable components, copy the components in the result.
1120         (gfc_trans_arrayfunc_assign): Deallocate allocatable components
1121         of lhs derived types before allocation.
1122         
1123 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
1124
1125         PR fortran/42481
1126         * module.c (load_generic_interfaces): If a procedure that is
1127         use associated but not generic is given an interface that
1128         includes itself, then make it generic.
1129
1130 2010-01-11  Joseph Myers  <joseph@codesourcery.com>  
1131             Shujing Zhao  <pearly.zhao@oracle.com>
1132
1133         PR translation/42469
1134         * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
1135         finit-logical=, finit-real=, fmax-array-constructor=): Use tab
1136         character between option name and help text.
1137
1138 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1139
1140         PR fortran/20923
1141         PR fortran/32489
1142         * trans-array.c (gfc_conv_array_initializer): Change call to
1143         gfc_error_now to call to gfc_fatal_error.
1144         * array.c (count_elements): Whitespace. (extract_element): Whitespace.
1145         (is_constant_element): Changed name from constant_element.
1146         (gfc_constant_ac): Only use expand_construuctor for expression
1147         types of EXPR_ARRAY.  If expression type is EXPR_CONSTANT, no need to
1148         call gfc_is_constant_expr.
1149         * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
1150         message.
1151         * resolve.c (gfc_is_expandable_expr): New function that determiners if
1152         array expressions should have their constructors expanded.
1153         (gfc_resolve_expr): Use new function to determine whether or not to call
1154         gfc_expand_constructor.
1155
1156 2010-01-09  Tobias Burnus  <burnus@net-b.de>
1157
1158         PR fortran/41298
1159         * trans-expr.c (gfc_trans_structure_assign): Handle
1160         c_null_(fun)ptr.
1161         * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
1162         to the constructor for c_null_(fun)ptr.
1163         * resolve.c (resolve_structure_cons): Add special case
1164         for c_null_(fun)ptr.
1165
1166 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
1167
1168         * gfortranspec.c (lang_specific_driver): Update copyright notice
1169         dates.
1170
1171 2010-01-08  Tobias Burnus  <burnus@net-b.de>
1172
1173         PR/fortran 25829
1174         * symbol.c (check_conflict, gfc_copy_attr): Add
1175         ASYNCHRONOUS support.
1176         (gfc_add_asynchronous): New function.
1177         * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
1178         (gfc_match_asynchronous): New function.
1179         * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
1180         * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
1181         (gfc_add_asynchronous): New Prototype.
1182         * module.c (ab_attribute, mio_symbol_attribute): Add
1183         ASYNCHRONOUS support.
1184         * resolve.c (was_declared): Ditto.
1185         * match.h (gfc_match_asynchronous): New prototype.
1186         * parse.c (decode_specification_statement,decode_statement):
1187         Add ASYNCHRONOUS support.
1188
1189 2010-01-07  Tobias Burnus  <burnus@net-b.de>
1190
1191         PR fortran/42597
1192         * trans-decl.c (get_proc_pointer_decl): Fix call to
1193         gfc_conv_initializer for array-valued proc-pointer funcs.
1194
1195 2010-01-07  Tobias Burnus  <burnus@net-b.de>
1196
1197         PR fortran/41872
1198         * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
1199         allocatable scalars with SAVE attribute.
1200
1201 2010-01-05  Tobias Burnus  <burnus@net-b.de>
1202
1203         PR fortran/42517
1204         * options.c (gfc_post_options): Set -frecursion
1205         when -fopenmp is used.
1206
1207 2010-01-05  Tobias Burnus  <burnus@net-b.de>
1208
1209         PR fortran/41872
1210         * trans-expr.c (gfc_conv_procedure_call): Nullify
1211         return value for allocatable-scalar character functions.
1212
1213 2010-01-04  Tobias Burnus  <burnus@net-b.de>
1214
1215         PR fortran/36161
1216         * error.c (error_printf, gfc_warning, gfc_notify_std,
1217         gfc_warning_now, gfc_error, gfc_error_now,
1218         gfc_fatal_error): Change argument name from nocmsgid to
1219         gmsgid to enable (x)gettext's % checking.
1220
1221 2010-01-04  Tobias Burnus  <burnus@net-b.de>
1222         
1223         * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
1224
1225 2010-01-04  Tobias Burnus  <burnus@net-b.de>
1226
1227         PR fortran/41872
1228         * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
1229         for functions returning allocatable scalars.
1230         * trans-stmt.c (gfc_trans_allocate): Emmit error when
1231         reallocating an allocatable scalar.
1232         * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
1233         in comment.
1234         * trans-decl.c (gfc_trans_deferred_vars): Nullify local
1235         allocatable scalars.
1236         (gfc_generate_function_code): Nullify result variable for
1237         allocatable scalars.
1238         
1239         PR fortran/40849
1240         * module.c (gfc_use_module): Fix warning string to allow
1241         for translation.
1242
1243         PR fortran/42517
1244         * invoke.texi (-fcheck=recursion): Mention that the checking
1245         is also disabled for -frecursive.
1246         * trans-decl.c (gfc_generate_function_code): Disable
1247         -fcheck=recursion when -frecursive is used.
1248
1249         * intrinsic.texi (iso_c_binding): Improve wording.
1250
1251 \f
1252 Copyright (C) 2010 Free Software Foundation, Inc.
1253
1254 Copying and distribution of this file, with or without modification,
1255 are permitted in any medium without royalty provided the copyright
1256 notice and this notice are preserved.