OSDN Git Service

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