]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
* coretypes.h (struct cl_option_handlers): Declare.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
b78351e5 12010-07-27 Joseph Myers <joseph@codesourcery.com>
2
3 * gfortran.h (gfc_handle_option): Update prototype and return
4 value type.
5 * options.c (gfc_handle_option): Update prototype and return value
6 type.
7
e88d34f6 82010-07-27 Joseph Myers <joseph@codesourcery.com>
9
10 * cpp.c (gfc_cpp_init_options): Update prototype. Use number of
11 decoded options in allocating deferred_opt.
12 * cpp.h (gfc_cpp_init_options): Update prototype.
13 * f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
14 * gfortran.h (gfc_option_lang_mask): New.
15 (gfc_init_options): Update prototype.
16 * options.c (gfc_option_lang_mask): New.
17 (gfc_init_options): Update prototype. Pass new arguments to
18 gfc_cpp_init_options.
19
d896f9b3 202010-07-26 Tobias Burnus <burnus@net-b.de>
21
22 PR fortran/40873
23 * trans-decl.c (gfc_get_extern_function_decl): Fix generation
24 for functions which are later in the same file.
25 (gfc_create_function_decl, build_function_decl,
26 build_entry_thunks): Add global argument.
27 * trans.c (gfc_generate_module_code): Update
28 gfc_create_function_decl call.
29 * trans.h (gfc_create_function_decl): Update prototype.
30 * resolve.c (resolve_global_procedure): Also resolve for
31 IFSRC_IFBODY.
32
cffbbb9d 332010-07-26 Richard Henderson <rth@redhat.com>
34
35 PR target/44132
36 * f95-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
37 (gfc_write_global_declarations): New.
38
7623e879 392010-07-26 Tobias Burnus <burnus@net-b.de>
40
41 PR fortran/45066
42 * trans-io.c (build_dt): Use NULL_TREE rather than NULL
43 for call to transfer_namelist_element.
44 * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
45 for -fwhole-file.
46
5532a4d1 472010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
48
49 PR fortran/40628
50 * Make-lang.in: Add fortran/frontend-passes.o.
51 * gfortran.h: Add prototype for gfc_run_passes.
52 * resolve.c (gfc_resolve): Call gfc_run_passes.
53 * frontend-passes.c: New file.
54
db58b8a3 552010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
56
57 PR fortran/42852
58 * scanner.c (gfc_next_char_literal): Enable truncation warning for
59 free-form '&'.
60
c0e4210e 612010-07-25 Mikael Morin <mikael@gcc.gnu.org>
62
63 PR fortran/44660
64 * gfortran.h (gfc_namespace): New field old_equiv.
65 (gfc_free_equiv_until): New prototype.
66 * match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
67 a parameterized stop condition.
68 (gfc_free_equiv): Use gfc_free_equiv_until.
69 * parse.c (next_statement): Save equivalence list.
70 (reject_statement): Restore equivalence list.
71
8c3dcae8 722010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
73
74 PR fortran/42852
75 * scanner.c (gfc_next_char_literal): Move check for truncation earlier
76 in the function so that it does not get missed by early exits.
77 (load_line): Add checks for quoted strings and free form comments to
78 disable warnings on comments. Add check for ampersand as first
79 character after truncation and don't warn for this case, but warn if
80 there are subsequent non-whitespace characters.
81
5a44c3c1 822010-07-24 Tobias Burnus <burnus@net-b.de>
83
84 PR fortran/40011
85 * parse.c (gfc_parse_file): Do not override
86 gfc_global_ns_list items.
87
9c6cdcae 882010-07-24 Tobias Burnus <burnus@net-b.de>
89
90 * options.c (gfc_init_options): Enable -fwhole-file by default.
91 * interface.c (compare_parameter): Assume a Hollerith constant is
92 compatible with all other argument types.
93
094bca96 942010-07-23 Tobias Burnus <burnus@net-b.de>
95
96 PR fortran/44945
97 * trans-decl.c (gfc_get_symbol_decl): Use module decl with
98 -fwhole-file also for derived types.
99 * trans-types.c (copy_dt_decls_ifequal): Remove static and
100 rename to gfc_copy_dt_decls_ifequal.
101 (gfc_get_derived_type): Update call.
102 * trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype.
103
99e32e83 1042010-07-23 Tobias Burnus <burnus@net-b.de>
105
106 PR fortran/45030
107 * resolve.c (resolve_global_procedure): Properly handle ENTRY.
108
84bfaaeb 1092010-07-23 Jakub Jelinek <jakub@redhat.com>
110
111 * trans-types.c (gfc_get_array_descriptor_base,
112 gfc_get_array_type_bounds): Set TYPE_NAMELESS.
113 * trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
114 instead of clearing DECL_NAME.
115 (gfc_build_dummy_array_decl): Set DECL_NAMELESS.
116
25f9f93d 1172009-07-23 Paul Thomas <pault@gcc.gnu.org>
118
119 PR fortran/24524
120 * trans-array.c (gfc_init_loopinfo): Initialize the reverse
121 field.
122 gfc_trans_scalarized_loop_end: If reverse set in dimension n,
123 reverse the scalarization loop.
124 gfc_conv_resolve_dependencies: Pass the reverse field of the
125 loopinfo to gfc_dep_resolver.
126 trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
127 assignment by resetting loop.reverse.
128 gfortran.h : Add the gfc_reverse enum.
129 trans.h : Add the reverse field to gfc_loopinfo.
130 dependency.c (gfc_check_dependency): Pass null to the new arg
131 of gfc_dep_resolver.
132 (gfc_check_section_vs_section): Check for reverse dependencies.
133 (gfc_dep_resolver): Add reverse argument and deal with the loop
134 reversal logic.
135 dependency.h : Modify prototype for gfc_dep_resolver to include
136 gfc_reverse *.
137
98f8bf07 1382010-07-23 Daniel Kraft <d@domob.eu>
139
140 PR fortran/44709
141 * gfortran.h (gfc_find_symtree_in_proc): New method.
142 * symbol.c (gfc_find_symtree_in_proc): New method.
143 * match.c (match_exit_cycle): Look for loop name also in parent
144 namespaces within current procedure.
145
ec1eb337 1462010-07-22 Tobias Burnus <burnus@net-b.de>
147
148 PR fortran/45019
149 * dependency.c (gfc_check_dependency): Add argument alising check.
150 * symbol.c (gfc_symbols_could_alias): Add argument alising check.
151
7e8b103d 1522010-07-22 Daniel Kraft <d@domob.eu>
153
154 * trans-stmt.c (gfc_trans_return): Put back in the handling of se.post,
155 now in the correct place.
156
395e044f 1572010-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
158
159 PR fortran/44929
160 * Revert my commit r162325.
161
89ac8ba1 1622010-07-21 Daniel Kraft <d@domob.eu>
163
164 * trans.h (gfc_get_return_label): Removed.
165 (gfc_generate_return): New method.
166 (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
167 returning a tree directly.
168 * trans-stmt.c (gfc_trans_return): Use `gfc_generate_return'.
169 (gfc_trans_block_construct): Update for new interface to
170 `gfc_trans_deferred_vars'.
171 * trans-decl.c (current_function_return_label): Removed.
172 (current_procedure_symbol): New variable.
173 (gfc_get_return_label): Removed.
174 (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
175 returning a tree directly.
176 (get_proc_result), (gfc_generate_return): New methods.
177 (gfc_generate_function_code): Clean up and do init/cleanup here
178 also with gfc_wrapped_block. Remove return-label but rather
179 return directly.
180
f2d27e34 1812010-07-19 Steven G. Kargl <kargl@gcc.gnu.org>
182
183 PR fortran/44929
184 * fortran/match.c (match_type_spec): Check for derived type before
185 intrinsic types.
186
abca3541 1872010-07-19 Paul Thomas <pault@gcc.gnu.org>
188
189 PR fortran/42385
190 * interface.c (matching_typebound_op): Add argument for the
191 return of the generic name for the procedure.
192 (build_compcall_for_operator): Add an argument for the generic
193 name of an operator procedure and supply it to the expression.
194 (gfc_extend_expr, gfc_extend_assign): Use the generic name in
195 calls to the above procedures.
196 * resolve.c (resolve_typebound_function): Catch procedure
197 component calls for CLASS objects, check that the vtable is
198 complete and insert the $vptr and procedure components, to make
199 the call.
200 (resolve_typebound_function): The same.
201 * trans-decl.c (gfc_trans_deferred_vars): Do not deallocate
202 an allocatable scalar if it is a result.
203
1f3c4b02 2042010-07-19 Paul Thomas <pault@gcc.gnu.org>
205
206 PR fortran/44353
207 * match.c (gfc_match_iterator): Reverted.
208
5bd45002 2092010-07-18 Paul Thomas <pault@gcc.gnu.org>
210
211 PR fortran/44353
212 * match.c (gfc_match_iterator): Remove error that iterator
213 cannot be INTENT(IN).
214
540a8975 2152010-07-17 Mikael Morin <mikael@gcc.gnu.org>
216
217 * trans-array.c (gfc_free_ss): Don't free beyond ss rank.
218 Access subscript through the "dim" field index.
219 (gfc_trans_create_temp_array): Access ss info through the "dim" field
220 index.
221 (gfc_conv_array_index_offset): Ditto.
222 (gfc_conv_loop_setup): Ditto.
223 (gfc_conv_expr_descriptor): Ditto.
224 (gfc_conv_ss_startstride): Ditto. Update call to
225 gfc_conv_section_startstride.
226 (gfc_conv_section_startstride): Set values along the array dimension.
227 Get array dimension directly from the argument.
228
d04cac57 2292010-07-15 Jakub Jelinek <jakub@redhat.com>
230
231 * trans.h (gfc_string_to_single_character): New prototype.
232 * trans-expr.c (string_to_single_character): Renamed to ...
233 (gfc_string_to_single_character): ... this. No longer static.
234 (gfc_conv_scalar_char_value, gfc_build_compare_string,
235 gfc_trans_string_copy): Adjust callers.
236 * config-lang.in (gtfiles): Add fortran/trans-stmt.c.
237 * trans-stmt.c: Include ggc.h and gt-fortran-trans-stmt.h.
238 (select_struct): Move to toplevel, add GTY(()).
239 (gfc_trans_character_select): Optimize SELECT CASE
240 with character length 1.
241
1767a056 2422010-07-15 Nathan Froyd <froydnj@codesourcery.com>
243
244 * f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
245 * trans-common.c: Likewise.
246 * trans-decl.c: Likewise.
247 * trans-types.c: Likewise.
248 * trans.c: Likewise.
249
217ca056 2502010-07-15 Janus Weil <janus@gcc.gnu.org>
251
252 PR fortran/44936
253 * resolve.c (resolve_typebound_generic_call): Resolve generic
254 non-polymorphic type-bound procedure calls to the correct specific
255 procedure.
256 (resolve_typebound_subroutine): Remove superfluous code.
257
c5faa799 2582010-07-15 Daniel Kraft <d@domob.eu>
259
260 PR fortran/44709
261 * trans.h (struct gfc_wrapped_block): New struct.
262 (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
263 (gfc_finish_wrapped_block): New method.
264 (gfc_init_default_dt): Add new init code to block rather than
265 returning it.
266 * trans-array.h (gfc_trans_auto_array_allocation): Use gfc_wrapped_block
267 (gfc_trans_dummy_array_bias): Ditto.
268 (gfc_trans_g77_array): Ditto.
269 (gfc_trans_deferred_array): Ditto.
270 * trans.c (gfc_add_expr_to_block): Call add_expr_to_chain.
271 (add_expr_to_chain): New method based on old gfc_add_expr_to_block.
272 (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
273 (gfc_finish_wrapped_block): New method.
274 * trans-array.c (gfc_trans_auto_array_allocation): use gfc_wrapped_block
275 (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
276 (gfc_trans_deferred_array): Ditto.
277 * trans-decl.c (gfc_trans_dummy_character): Ditto.
278 (gfc_trans_auto_character_variable), (gfc_trans_assign_aux_var): Ditto.
279 (init_intent_out_dt): Ditto.
280 (gfc_init_default_dt): Add new init code to block rather than
281 returning it.
282 (gfc_trans_deferred_vars): Use gfc_wrapped_block to collect all init
283 and cleanup code and put it all together.
284
a313dc3a 2852010-07-15 Jakub Jelinek <jakub@redhat.com>
286
287 * trans.h (gfc_build_compare_string): Add CODE argument.
288 * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Pass OP to
289 gfc_build_compare_string.
290 * trans-expr.c (gfc_conv_expr_op): Pass CODE to
291 gfc_build_compare_string.
292 (string_to_single_character): Rename len variable to length.
293 (gfc_optimize_len_trim): New function.
294 (gfc_build_compare_string): Add CODE argument. If it is EQ_EXPR
295 or NE_EXPR and one of the strings is string literal with LEN_TRIM
296 bigger than the length of the other string, they compare unequal.
297
cff02494 298 PR fortran/40206
299 * trans-stmt.c (gfc_trans_character_select): Always use NULL for high
300 in CASE_LABEL_EXPR and use NULL for low for the default case.
301
3ab0a97b 3022010-07-14 Mikael Morin <mikael@gcc.gnu.org>
303
304 * trans-array.c (gfc_conv_section_upper_bound): Remove
305 (gfc_conv_section_startstride): Don't set the upper bound in the
540a8975 306 vector subscript case.
3ab0a97b 307 (gfc_conv_loop_setup): Don't use gfc_conv_section_upper_bound
308
f10a970e 3092010-07-14 Janus Weil <janus@gcc.gnu.org>
310
311 PR fortran/44925
312 * gfortran.h (gfc_is_data_pointer): Remove prototype.
313 * dependency.c (gfc_is_data_pointer): Make it static.
314 * intrinsic.texi: Update documentation on C_LOC.
315 * resolve.c (gfc_iso_c_func_interface): Fix pointer and target checks
316 and add a check for polymorphic variables.
317
537824d1 3182010-07-14 Jakub Jelinek <jakub@redhat.com>
319
7f7b3f75 320 * trans-expr.c (string_to_single_character): Also optimize
321 string literals containing a single char followed only by spaces.
322 (gfc_trans_string_copy): Remove redundant string_to_single_character
323 calls.
324
537824d1 325 * trans-decl.c (gfc_build_intrinsic_function_decls,
326 gfc_build_builtin_function_decls): Mark functions as
327 DECL_PURE_P or TREE_READONLY.
328
414c3a2c 3292010-07-13 Nathan Froyd <froydnj@codesourcery.com>
330
331 * trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
332 instead of build_function_call_expr.
333 * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
334
4bf69bc3 3352010-07-13 Tobias Burnus <burnus@net-b.de>
336 Daniel Franke <franke.daniel@gmail.com>
337
338 PR fortran/43665
339 * trans.h (gfc_build_library_function_decl_with_spec): New prototype.
340 * trans-decl.c (gfc_build_library_function_decl_with_spec): Removed
341 static.
342 * trans-io (gfc_build_io_library_fndecls): Add "fn spec" annotations.
343
241ecdc7 3442010-07-13 Daniel Franke <franke.daniel@gmail.com>
345 Tobias Burnus <burnus@net-b.de>
346
347 PR fortran/43665
348 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
349 noclobber/noescape annotations to function calls.
350 (gfc_build_builtin_function_decls): Likewise.
351
09276310 3522010-07-13 Janus Weil <janus@gcc.gnu.org>
353
354 PR fortran/44434
355 PR fortran/44565
356 PR fortran/43945
357 PR fortran/44869
358 * gfortran.h (gfc_find_derived_vtab): Modified prototype.
359 * class.c (gfc_build_class_symbol): Modified call to
360 'gfc_find_derived_vtab'.
361 (add_proc_component): Removed, moved code into 'add_proc_comp'.
362 (add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
363 generics.
364 (add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
365 Removed treatment of generics.
366 (copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
367 Call 'add_proc_comp' instead of duplicating code.
368 (add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
369 and 'declared'.
370 (add_generic_specifics,add_generics_to_declared_vtab): Removed.
371 (gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
372 Removed treatment of generics.
373 * iresolve.c (gfc_resolve_extends_type_of): Modified call to
374 'gfc_find_derived_vtab'.
375 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
376 Removed treatment of generics.
377 (resolve_select_type,resolve_fl_derived): Modified call to
378 'gfc_find_derived_vtab'.
379 * trans-decl.c (gfc_get_symbol_decl): Ditto.
380 * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
381 Ditto.
382 * trans-stmt.c (gfc_trans_allocate): Ditto.
383
487c959a 3842010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
385
386 PR fortran/37077
387 * trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
388 internal unit.
389
417c9c5c 3902010-07-12 Mikael Morin <mikael@gcc.gnu.org>
391
392 * expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
393 * resolve.c (build_default_init_expr): Ditto.
394
c6cf1e49 3952010-07-11 Tobias Burnus <burnus@net-b.de>
396
397 PR fortran/44702
398 * module.c (sort_iso_c_rename_list): Remove.
399 (import_iso_c_binding_module,use_iso_fortran_env_module):
400 Allow multiple imports of the same symbol.
401
77009a9e 4022010-07-11 Mikael Morin <mikael@gcc.gnu.org>
403
404 * arith.c (gfc_arith_done_1): Release mpfr internal caches.
405
a33fbb6f 4062010-07-11 Janus Weil <janus@gcc.gnu.org>
407
7502da49 408 PR fortran/44869
a33fbb6f 409 * decl.c (build_sym,attr_decl1): Only build the class container if the
410 symbol has sufficient attributes.
411 * expr.c (gfc_check_pointer_assign): Use class_pointer instead of
412 pointer attribute for classes.
413 * match.c (gfc_match_allocate,gfc_match_deallocate): Ditto.
414 * module.c (MOD_VERSION): Bump.
415 (enum ab_attribute,attr_bits): Add AB_CLASS_POINTER.
416 (mio_symbol_attribute): Handle class_pointer attribute.
417 * parse.c (parse_derived): Use class_pointer instead of pointer
418 attribute for classes.
419 * primary.c (gfc_variable_attr,gfc_expr_attr): Ditto.
420 * resolve.c (resolve_structure_cons,resolve_deallocate_expr,
421 resolve_allocate_expr,resolve_fl_derived): Ditto.
422 (resolve_fl_var_and_proc): Check for class_ok attribute.
423
4ce1f210 4242010-07-10 Mikael Morin <mikael@gcc.gnu.org>
425
426 * trans-io.c (gfc_build_st_parameter): Update calls to
427 gfc_add_field_to_struct.
428 * trans-stmt.c (ADD_FIELD): Ditto.
429 * trans-types.c
430 (gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
540a8975 431 C_ADDRESS field.
4ce1f210 432 (gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
433 fieldlist, remove fieldlist from argument list.
434 (gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
540a8975 435 and remove fieldlist from argument list.
4ce1f210 436 (gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
437 gfc_get_mixed_entry_union): Move setting
438 TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
439 * trans-types.h (gfc_add_field_to_struct): Update prototype.
440
e20c5d83 4412010-07-10 Paul Thomas <pault@gcc.gnu.org>
442
443 PR fortran/44773
444 * trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
445 if the lhs has never been host associated, as well as not being
446 use associated, a pointer or a target.
447 * resolve.c (resolve_variable): Mark variables that are host
448 associated.
449 * gfortran.h: Add the host_assoc bit to the symbol_attribute
450 structure.
451
24c079ad 4522010-07-09 Janus Weil <janus@gcc.gnu.org>
453
454 * intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
455 STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
456 SIZEOF and C_SIZEOF.
457
95bf00d5 4582010-07-08 Janus Weil <janus@gcc.gnu.org>
459
460 PR fortran/44649
461 * gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
462 * intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
463 gfc_resolve_storage_size): New prototypes.
464 * check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
465 * intrinsic.c (add_functions): Add STORAGE_SIZE.
466 * iresolve.c (gfc_resolve_storage_size): New function.
467 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
468 arguments.
469 (gfc_conv_intrinsic_storage_size): New function.
470 (gfc_conv_intrinsic_function): Handle STORAGE_SIZE.
471
7297507e 4722010-07-08 Jakub Jelinek <jakub@redhat.com>
473
474 PR fortran/44847
475 * match.c (match_exit_cycle): Error on EXIT also from collapsed
476 !$omp do loops. Error on CYCLE to non-innermost collapsed
477 !$omp do loops.
478
1da1826b 4792010-07-08 Tobias Burnus <burnus@net-b.de>
480
481 PR fortran/18918
482 * array.c (gfc_match_array_ref): Better error message for
483 coarrays with too few ranks.
484 (match_subscript): Move one diagnostic to caller.
485 * gfortran.h (gfc_get_corank): Add prottype.
486 * expr.c (gfc_get_corank): New function.
487 * iresolve.c (resolve_bound): Fix rank for cobounds.
488 (gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
489 gfc_resolve_ucobound, gfc_resolve_this_image): Update
490 resolve_bound call.
491
58b069a0 4922010-07-06 Tobias Burnus <burnus@net-b.de>
493
494 PR fortran/44742
495 * array.c (gfc_expand_constructor): Add optional diagnostic.
496 * gfortran.h (gfc_expand_constructor): Update prototype.
497 * expr.c (gfc_simplify_expr, check_init_expr,
498 gfc_reduce_init_expr): Update gfc_expand_constructor call.
499 * resolve.c (gfc_resolve_expr): Ditto.
500
7cbc820e 5012010-07-06 Tobias Burnus <burnus@net-b.de>
502
503 * trans-decl.c: Include diagnostic-core.h besides toplev.h.
504 * trans-intrinsic.c: Ditto.
505 * trans-types.c: Ditto.
506 * convert.c: Include diagnostic-core.h instead of toplev.h.
507 * options.c: Ditto.
508 * trans-array.c: Ditto.
509 * trans-const.c: Ditto.
510 * trans-expr.c: Ditto.
511 * trans-io.c: Ditto.
512 * trans-openmp.c: Ditto.
513 * trans.c: Ditto.
514
b9cef582 5152010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
516
517 PR fortran/PR44693
518 * check.c (dim_rank_check): Also check intrinsic functions.
519 Adjust permissible rank for functions which reduce the rank of
520 their argument. Spread is an exception, where DIM can
521 be one larger than the rank of array.
522
c714a68a 5232010-07-05 Steven G. Kargl <kargl@gcc.gnu.org>
524
237c5566 525 PR fortran/44797
c714a68a 526 * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
527
44f117c2 5282010-07-05 Paul Thomas <pault@gcc.gnu.org>
529
530 PR fortran/44596
531 * trans-types.c (gfc_get_derived_type): Derived type fields
532 with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
533 but build_pointer_type_for_mode must be used for this.
534
008f96d8 5352010-07-05 Nathan Froyd <froydnj@codesourcery.com>
536
537 * trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
538 * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
539 type of gfc_conv_procedure_call.
540 (conv_generic_with_optional_char_arg): Likewise.
541 * trans-stmt.c (gfc_trans_call): Likewise.
542 * trans-expr.c (gfc_conv_function_expr): Likewise.
543 (gfc_conv_procedure_call): Use build_call_vec instead of
544 build_call_list.
545
a8088e82 5462010-07-04 Daniel Kraft <d@domob.eu>
547
548 * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
549
4acb7fcc 5502010-07-04 Paul Thomas <pault@gcc.gnu.org>
551
552 PR fortran/44596
553 PR fortran/44745
554 * trans-types.c (gfc_get_derived_type): Derived type fields
555 with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.
556
b3d1387f 5572010-07-02 Mikael Morin <mikael@gcc.gnu.org>
558
559 PR fortran/44662
560 * decl.c (match_procedure_in_type): Clear structure before using.
561 (gfc_match_generic): Ditto.
562
02e2a14b 5632010-07-02 Nathan Froyd <froydnj@codesourcery.com>
564
565 * trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
566 * trans-types.c (gfc_add_field_to_struct_1): New function, most
567 of which comes from...
568 (gfc_add_field_to_struct): ...here. Call it. Add new parameter.
569 (gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
570 building fields.
571 (gfc_get_array_descriptor_base): Likewise.
572 (gfc_get_mixed_entry_union): Likewise.
573 (gfc_get_derived_type): Add extra chain parameter for
574 gfc_add_field_to_struct.
575 * trans-stmt.c (gfc_trans_character_select): Likewise.
576 * trans-io.c (gfc_build_st_parameter): Likewise.
577
d6df670a 5782010-06-29 Janus Weil <janus@gcc.gnu.org>
579
580 PR fortran/44718
581 * resolve.c (is_external_proc): Prevent procedure pointers from being
582 regarded as external procedures.
583
db6e5c08 5842010-06-29 Janus Weil <janus@gcc.gnu.org>
585
586 PR fortran/44696
587 * trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
588 passed as second argument of ASSOCIATED.
589
5d7ab965 5902010-06-29 Paul Thomas <pault@gcc.gnu.org>
591
592 PR fortran/44582
593 * trans-expr.c (arrayfunc_assign_needs_temporary): New function
594 to determine if a function assignment can be made without a
595 temporary.
596 (gfc_trans_arrayfunc_assign): Move all the conditions that
597 suppress the direct function call to the above new functon and
598 call it.
599
1a161246 6002010-06-28 Paul Thomas <pault@gcc.gnu.org>
601
602 PR fortran/40158
603 * interface.c (argument_rank_mismatch): New function.
604 (compare_parameter): Call new function instead of generating
605 the error directly.
606
5df674ea 6072010-06-28 Nathan Froyd <froydnj@codesourcery.com>
608
609 * trans-openmp.c (dovar_init): Define. Define VECs containing it.
610 (gfc_trans_omp_do): Use a VEC to accumulate variables and their
611 initializers.
612
596981c8 6132010-06-28 Steven Bosscher <steven@gcc.gnu.org>
614
615 * Make-lang.in: Update dependencies.
616
cbb21b9f 6172010-06-27 Nathan Froyd <froydnj@codesourcery.com>
618
619 * gfortran.h (gfc_code): Split backend_decl field into cycle_label
620 and exit_label fields.
621 * trans-openmp.c (gfc_trans_omp_do): Assign to new fields
622 individually.
623 * trans-stmt.c (gfc_trans_simple_do): Likewise.
624 (gfc_trans_do): Likewise.
625 (gfc_trans_do_while): Likewise.
626 (gfc_trans_cycle): Use cycle_label directly.
627 (gfc_trans_exit): Use exit_label directly.
628
e606c235 6292010-06-27 Daniel Kraft <d@domob.eu>
630
631 * dump-parse-tree.c (show_symbol): Dump target-expression for
632 associate names.
633 (show_code_node): Make distinction between BLOCK and ASSOCIATE.
634 (show_namespace): Use show_level for correct indentation of
635 "inner namespaces" (contained procedures or BLOCK).
636
7a2d6403 6372010-06-27 Thomas Koenig <tkoenig@gcc.gnu.org>
638
639 PR fortran/44678
640 * dump-parse-tree.c (show_code_node): Show namespace for
641 EXEC_BLOCK.
642
f446fb22 6432010-06-26 Tobias Burnus <burnus@net-b.de>
644
645 * decl.c (gfc_match_decl_type_spec): Support
646 TYPE(intrinsic-type-spec).
647
1011a9ca 6482010-06-25 Tobias Burnus <burnus@net-b.de>
649
650 * intrinsic.h (gfc_check_selected_real_kind,
651 gfc_simplify_selected_real_kind): Update prototypes.
652 * intrinsic.c (add_functions): Add radix support to
653 selected_real_kind.
654 * check.c (gfc_check_selected_real_kind): Ditto.
655 * simplify.c (gfc_simplify_selected_real_kind): Ditto.
656 * trans-decl.c (gfc_build_intrinsic_function_decls):
657 Change call from selected_real_kind to selected_real_kind2008.
658 * intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
659 (PRECISION, RANGE, RADIX): Add cross @refs.
660
a3b81b0f 6612010-06-25 Tobias Burnus <burnus@net-b.de>
662
663 * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
664 * gfortran.texi (_gfortran_set_options): Update for
665 GFC_STD_F2008_OBS addition.
666 * libgfortran.h: Add GFC_STD_F2008_OBS.
667 * options.c (set_default_std_flags, gfc_handle_option): Handle
668 GFC_STD_F2008_OBS.
669 io.c (check_format): Fix allow_std check.
670
4b20e9cf 6712010-06-25 Tobias Burnus <burnus@net-b.de>
672
673 * decl.c (gfc_match_entry): Allow END besides
674 END SUBROUTINE/END FUNCTION for contained procedures.
675
1b37751e 6762010-06-25 Tobias Burnus <burnus@net-b.de>
677
678 * parse.c (next_free, next_fixed): Allow ";" as first character.
679
71c22dfb 6802010-06-24 Tobias Burnus <burnus@net-b.de>
681
682 PR fortran/44614
683 * decl.c (variable_decl): Fix IMPORT diagnostic for CLASS.
684
c420ccbb 6852010-06-22 Janus Weil <janus@gcc.gnu.org>
686
687 PR fortran/44616
688 * resolve.c (resolve_fl_derived): Avoid checking for abstract on class
689 containers.
690
b3c3927c 6912010-06-21 Tobias Burnus <burnus@net-b.de>
692
693 PR fortran/40632
694 * interface.c (compare_parameter): Add gfc_is_simply_contiguous
695 checks.
696 * symbol.c (gfc_add_contiguous): New function.
697 (gfc_copy_attr, check_conflict): Handle contiguous attribute.
698 * decl.c (match_attr_spec): Ditto.
699 (gfc_match_contiguous): New function.
700 * resolve.c (resolve_fl_derived, resolve_symbol): Handle
701 contiguous.
702 * gfortran.h (symbol_attribute): Add contiguous.
703 (gfc_is_simply_contiguous): Add prototype.
704 (gfc_add_contiguous): Add prototype.
705 * match.h (gfc_match_contiguous): Add prototype.
706 * parse.c (decode_specification_statement,
707 decode_statement): Handle contiguous attribute.
708 * expr.c (gfc_is_simply_contiguous): New function.
709 * dump-parse-tree.c (show_attr): Handle contiguous.
710 * module.c (ab_attribute, attr_bits, mio_symbol_attribute):
711 Ditto.
712 * trans-expr.c (gfc_add_interface_mapping): Copy
713 attr.contiguous.
714 * trans-array.c (gfc_conv_descriptor_stride_get,
715 gfc_conv_array_parameter): Handle contiguous arrays.
716 * trans-types.c (gfc_build_array_type, gfc_build_array_type,
717 gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info):
718 Ditto.
719 * trans.h (gfc_array_kind): Ditto.
720 * trans-decl.c (gfc_get_symbol_decl): Ditto.
721
615ef0bb 7222010-06-20 Joseph Myers <joseph@codesourcery.com>
723
724 * options.c (gfc_handle_option): Don't handle N_OPTS.
725
d839f2a0 7262010-06-19 Janus Weil <janus@gcc.gnu.org>
727
728 PR fortran/44584
729 * resolve.c (resolve_fl_derived): Reverse ordering of conditions
730 to avoid ICE.
731
7e6fae0b 7322010-06-18 Tobias Burnus <burnus@net-b.de>
733
734 PR fortran/44556
735 * resolve.c (resolve_allocate_deallocate): Properly check
736 part-refs in stat=/errmsg= for invalid use.
737
d17bd57e 7382010-06-17 Janus Weil <janus@gcc.gnu.org>
739
740 PR fortran/44558
741 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
742 Return directly in case of an error.
743
4a12b9ba 7442010-06-16 Janus Weil <janus@gcc.gnu.org>
745
746 PR fortran/44549
747 * gfortran.h (gfc_get_typebound_proc): Modified Prototype.
748 * decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc
749 structure to each procedure in a procedure list.
750 * module.c (mio_typebound_proc): Add NULL argument to
751 'gfc_get_typebound_proc'.
752 * symbol.c (gfc_get_typebound_proc): Add a new argument, which is used
753 to initialize the new structure.
754
de622904 7552010-06-15 Janus Weil <janus@gcc.gnu.org>
756
757 PR fortran/43388
758 * gfortran.h (gfc_expr): Add new member 'mold'.
759 * match.c (gfc_match_allocate): Implement the MOLD tag.
760 * resolve.c (resolve_allocate_expr): Ditto.
761 * trans-stmt.c (gfc_trans_allocate): Ditto.
762
4ad75159 7632010-06-15 Jakub Jelinek <jakub@redhat.com>
764
765 PR fortran/44536
766 * trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
767 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
768 GFC_DECL_SAVED_DESCRIPTOR set.
769 (gfc_omp_report_decl): New function.
770 * trans.h (gfc_omp_report_decl): New prototype.
771 * f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
772
d826a69b 7732010-06-13 Daniel Franke <franke.daniel@gmail.com>
774
775 PR fortran/31588
776 PR fortran/43954
777 * gfortranspec.c (lang_specific_driver): Removed deprecation
778 warning for -M.
779 * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
780 * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
781 * cpp.h (gfc_cpp_makedep): New.
782 (gfc_cpp_add_dep): New.
783 (gfc_cpp_add_target): New.
784 * cpp.c (gfc_cpp_option): Add deps* members.
785 (gfc_cpp_makedep): New.
786 (gfc_cpp_add_dep): New.
787 (gfc_cpp_add_target): New.
788 (gfc_cpp_init_options): Initialize new options.
789 (gfc_cpp_handle_option): Handle new options.
790 (gfc_cpp_post_options): Map new options to libcpp-options.
791 (gfc_cpp_init): Handle deferred -MQ and -MT options.
792 (gfc_cpp_done): If requested, write dependencies to file.
793 * module.c (gfc_dump_module): Add a module filename as target.
794 * scanner.c (open_included_file): New parameter system; add the
795 included file as dependency.
796 (gfc_open_included_file): Add the included file as dependency.
797 (gfc_open_intrinsic_module): Likewise.
798 * invoke.texi: Removed deprecation warning for -M.
799 * gfortran.texi: Removed Makefile-dependencies project.
800
ab0a1ed6 8012010-06-12 Daniel Franke <franke.daniel@gmail.com>
802
803 * resolve.c (resolve_global_procedure): Improved checking if an
804 explicit interface is required.
805
185bc3c7 8062010-06-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
807
808 * trans-decl.c (gfc_build_intrinsic_function_decls): Fix
809 return type.
810 * trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type.
811 (gfc_conv_intrinsic_ttynam): Likewise.
812 (gfc_conv_intrinsic_trim): Likewise.
813
7a3aaef8 8142010-06-12 Janus Weil <janus@gcc.gnu.org>
815
816 PR fortran/40117
817 * decl.c (match_procedure_in_type): Allow procedure lists (F08).
818
7f9b4a7a 8192010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
820
821 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.
822
a80ae91c 8232010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
824
825 * mathbuiltins.def: Add builtins that do not directly correspond
826 to a Fortran intrinsic, with new macro OTHER_BUILTIN.
827 * f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN.
828 * trans-intrinsic.c (gfc_intrinsic_map_t): Remove
829 code_{r,c}{4,8,10,16} fields. Add
830 {,complex}{float,double,long_double}_built_in fields.
831 (gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN,
832 DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add
833 definition of OTHER_BUILTIN.
834 (real_compnt_info): Remove unused struct.
835 (builtin_decl_for_precision, builtin_decl_for_float_kind): New
836 functions.
837 (build_round_expr): Call builtin_decl_for_precision instead of
838 series of if-else.
839 (gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind
840 instead of a switch.
841 (gfc_build_intrinsic_lib_fndecls): Match
842 {real,complex}{4,8,10,16}decl into the C-style built_in_decls.
843 (gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point
844 kinds.
845 (gfc_conv_intrinsic_lib_function): Go through all the extended
846 gfc_intrinsic_map.
847 (gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind
848 instead of a switch.
849 (gfc_conv_intrinsic_abs): Likewise.
850 (gfc_conv_intrinsic_mod): Likewise.
851 (gfc_conv_intrinsic_sign): Likewise.
852 (gfc_conv_intrinsic_fraction): Likewise.
853 (gfc_conv_intrinsic_nearest): Likewise.
854 (gfc_conv_intrinsic_spacing): Likewise.
855 (gfc_conv_intrinsic_rrspacing): Likewise.
856 (gfc_conv_intrinsic_scale): Likewise.
857 (gfc_conv_intrinsic_set_exponent): Likewise.
858
750b874c 8592010-06-11 Paul Thomas <pault@gcc.gnu.org>
860
861 PR fortran/42051
862 PR fortran/43896
863 * trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
864 functions with CLASS formal arguments.
865
ad0fe61d 8662010-06-10 Janus Weil <janus@gcc.gnu.org>
867
868 PR fortran/44207
869 * resolve.c (conformable_arrays): Handle allocatable components.
870
c7b9531f 8712010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
872
873 PR fortran/38273
874 * gfortran.texi: Document that Cray pointers cannot be function
875 results.
876
8772010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
878
879 PR fortran/36234
880 * gfortran.texi: Document lack of support for syntax
881 "complex FUNCTION name*16()", and existence of alternative
882 legacy syntax "complex*16 FUNCTION name()".
883
21e0620a 8842010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
885
886 PR fortran/43032
887 * intrinsic.texi (FLUSH): Note the difference between FLUSH and
888 POSIX's fsync(), and how to call the latter from Fortran code.
889
d1c662df 8902010-06-10 Daniel Franke <franke.daniel@gmail.com>
891
892 PR fortran/44457
893 * interface.c (compare_actual_formal): Reject actual arguments with
894 array subscript passed to ASYNCHRONOUS dummys.
895
d18a512a 8962010-06-10 Daniel Kraft <d@domob.eu>
897
898 PR fortran/38936
899 * gfortran.h (enum gfc_statement): Add ST_ASSOCIATE, ST_END_ASSOCIATE.
900 (struct gfc_symbol): New field `assoc'.
901 (struct gfc_association_list): New struct.
902 (struct gfc_code): New struct `block' in union, move `ns' there
903 and add association list.
904 (gfc_free_association_list): New method.
905 (gfc_has_vector_subscript): Made public;
906 * match.h (gfc_match_associate): New method.
907 * parse.h (enum gfc_compile_state): Add COMP_ASSOCIATE.
908 * decl.c (gfc_match_end): Handle ST_END_ASSOCIATE.
909 * interface.c (gfc_has_vector_subscript): Made public.
910 (compare_actual_formal): Rename `has_vector_subscript' accordingly.
911 * match.c (gfc_match_associate): New method.
912 (gfc_match_select_type): Change reference to gfc_code's `ns' field.
913 * primary.c (match_variable): Don't allow names associated to expr here.
914 * parse.c (decode_statement): Try matching ASSOCIATE statement.
915 (case_exec_markers, case_end): Add ASSOCIATE statement.
916 (gfc_ascii_statement): Hande ST_ASSOCIATE and ST_END_ASSOCIATE.
917 (parse_associate): New method.
918 (parse_executable): Handle ST_ASSOCIATE.
919 (parse_block_construct): Change reference to gfc_code's `ns' field.
920 * resolve.c (resolve_select_type): Ditto.
921 (resolve_code): Ditto.
922 (resolve_block_construct): Ditto and add comment.
923 (resolve_select_type): Set association list in generated BLOCK to NULL.
924 (resolve_symbol): Resolve associate names.
925 * st.c (gfc_free_statement): Change reference to gfc_code's `ns' field
926 and free association list.
927 (gfc_free_association_list): New method.
928 * symbol.c (gfc_new_symbol): NULL new field `assoc'.
929 * trans-stmt.c (gfc_trans_block_construct): Change reference to
930 gfc_code's `ns' field.
931
7c9ed47a 9322010-06-10 Kai Tietz <kai.tietz@onevision.com>
933
934 * error.c (error_print): Pre-initialize loc by NULL.
935 * openmp.c (resolve_omp_clauses): Add explicit
936 braces to avoid ambigous else.
937 * array.c (match_subscript): Pre-initialize m to MATCH_ERROR.
938
2d0c81dc 9392010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
940
941 * gfc-internals.texi: Move to GFDL 1.3.
942 * gfortran.texi: Ditto.
943 * intrinsic.texi: Ditto.
944 * invoke.texi: Ditto.
945
0d290c9d 9462010-06-09 Daniel Franke <franke.daniel@gmail.com>
947
948 PR fortran/44347
949 * check.c (gfc_check_selected_real_kind): Verify that the
950 actual arguments are scalar.
951
a1a2dd69 9522010-06-09 Daniel Franke <franke.daniel@gmail.com>
953
954 PR fortran/44359
955 * intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.
956
335c0cea 9572010-06-09 Janus Weil <janus@gcc.gnu.org>
958
959 PR fortran/44430
960 * dump-parse-tree.c (show_symbol): Avoid infinite loop.
961
c8f6f57c 9622010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
963
964 * fortran/symbol.c (check_conflict): Remove an invalid conflict check.
965
f1d241cc 9662010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
967
968 * fortran/intrinsic.c (add_functions): Change gfc_check_btest,
969 gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
970 * fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
971 gfc_check_ibclr, and gfc_check_ibset. Add prototype for
972 gfc_check_bitfcn.
973 * fortran/check.c (nonnegative_check, less_than_bitsize1,
974 less_than_bitsize2): New functions.
975 (gfc_check_btest): Renamed to gfc_check_bitfcn. Use
976 nonnegative_check and less_than_bitsize1.
977 (gfc_check_ibclr, gfc_check_ibset): Removed.
978 (gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
979 less_than_bitsize1.
980
ae44f506 9812010-06-09 Janus Weil <janus@gcc.gnu.org>
982
983 PR fortran/44211
984 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
985 Resolve references.
986
40af37bd 9872010-06-09 Kai Tietz <kai.tietz@onevision.com>
988
989 * resolve.c (resolve_deallocate_expr): Avoid warning
990 about possible use of iunitialized sym.
991 (resolve_allocate_expr): Pre-initialize sym by NULL.
992
9e0a5037 9932010-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
994
995 PR fortran/43040
996 * f95-lang.c (gfc_init_builtin_functions): Remove comment.
997
ba72912a 9982010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
999
1000 * trans-types.c (gfc_get_nodesc_array_type): Use typed GC
1001 allocation.
1002 (gfc_get_array_type_bounds): Likewise.
1003
1004 * trans-decl.c (gfc_allocate_lang_decl): Likewise.
1005 (gfc_find_module): Likewise.
1006
1007 * f95-lang.c (pushlevel): Likewise.
1008
1009 * trans.h (struct lang_type): Add variable_size GTY option.
1010 (struct lang_decl): Likewise.
1011
4e1f7cdd 10122010-06-08 Tobias Burnus <burnus@net-b.de>
1013
1014 PR fortran/44446
1015 * symbol.c (check_conflict): Move protected--external/procedure check ...
1016 * resolve.c (resolve_select_type): ... to the resolution stage.
1017
1684aeab 10182010-06-07 Tobias Burnus <burnus@net-b.de>
1019
1020 * options.c (gfc_handle_option): Fix -fno-recursive.
1021
60d6fff4 10222010-06-07 Tobias Burnus <burnus@net-b.de>
1023
1024 * gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
1025 * gfortran.texi (copyrights-gfortran): Ditto.
1026
4aafe913 10272010-06-07 Joseph Myers <joseph@codesourcery.com>
1028
1029 * lang.opt (fshort-enums): Define using Var and VarExists.
1030 * options.c (gfc_handle_option): Don't set flag_short_enums here.
1031
89132055 10322010-06-05 Paul Thomas <pault@gcc.gnu.org>
1033 Janus Weil <janus@gcc.gnu.org>
1034
1035 PR fortran/43945
1036 * resolve.c (get_declared_from_expr): Move to before
1037 resolve_typebound_generic_call. Make new_ref and class_ref
1038 ignorable if set to NULL.
1039 (resolve_typebound_generic_call): Once we have resolved the
1040 generic call, check that the specific instance is that which
1041 is bound to the declared type.
1042 (resolve_typebound_function,resolve_typebound_subroutine): Avoid
1043 freeing 'class_ref->next' twice.
1044
76e5b0d8 10452010-06-05 Paul Thomas <pault@gcc.gnu.org>
1046
1047 PR fortran/43895
1048 * trans-array.c (structure_alloc_comps): Dereference scalar
1049 'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
1050 TREE_TYPE (decl).
1051
a8c464ac 10522010-06-04 Joseph Myers <joseph@codesourcery.com>
1053
1054 * gfortranspec.c (append_arg, lang_specific_driver): Use
1055 GCC-specific formats in diagnostics.
1056
765cd02a 10572010-06-02 Tobias Burnus <burnus@net-b.de>
1058
1059 PR fortran/44360
1060 * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
1061 symbols.
1062
f3a9b510 10632010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1064
1065 PR fortran/44371
1066 * match.c (gfc_match_stopcode): Move gfc_match_eos call inside
1067 condition block.
1068
ae72f813 10692010-05-31 Steven G. Kargl <kargl@gcc.gnu.org>
1070
1071 * fortran/gfortran.texi: Fix typos in description of variable-format-
1072 expressions.
1073
55f066ca 10742010-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1075
1076 PR fortran/36928
1077 * dependency.c (gfc_check_section_vs_section): Check
1078 for interleaving array assignments without conflicts.
1079
50b4b37b 10802010-05-30 Janus Weil <janus@gcc.gnu.org>
1081
1082 * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
1083 $data component of a class container.
1084 * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
1085 * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
1086 gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
1087 * gcc/fortran/interface.c (matching_typebound_op): Ditto.
1088 * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
1089 * gcc/fortran/parse.c (parse_derived): Ditto.
1090 * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
1091 gfc_expr_attr): Ditto.
1092 * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
1093 resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
1094 resolve_fl_var_and_proc, resolve_typebound_procedure,
1095 resolve_fl_derived): Ditto.
1096 * gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
1097 * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
1098 CLASS_DATA.
1099 * gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
1100 gfc_trans_deferred_vars): Ditto.
1101 * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
1102
a5fe80bd 11032010-05-28 Tobias Burnus <burnus@net-b.de>
1104
1105 * options.c (gfc_handle_option): Fix handling of -fno-whole-file.
1106
a922df2e 11072010-05-28 Joseph Myers <joseph@codesourcery.com>
1108
1109 * gfortranspec.c (append_arg, lang_specific_driver): Use
1110 fatal_error instead of fatal. Use warning instead of fprintf for
1111 warnings.
1112
8fb69344 11132010-05-28 Joseph Myers <joseph@codesourcery.com>
1114
1115 * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror.
1116 * module.c (write_char, gfc_dump_module, gfc_use_module): Use
1117 xstrerror instead of strerror.
1118
3c6a9715 11192010-05-26 Joseph Myers <joseph@codesourcery.com>
1120
1121 * cpp.c (cb_cpp_error): Save and restore
1122 global_dc->warn_system_headers, not variable warn_system_headers.
1123
c7580612 11242010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1125
1126 * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
1127
cb4070e0 11282010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1129
1130 * trans-common.c: Do not include rtl.h, include output.h instead.
1131 * trans-decl.c: Likewise.
1132
7e33d332 11332010-05-26 Paul Thomas <pault@gcc.gnu.org>
1134
1135 PR fortran/40011
1136 * resolve.c (resolve_global_procedure): Resolve the gsymbol's
1137 namespace before trying to reorder the gsymbols.
1138
d5156c99 11392010-05-25 Daniel Franke <franke.daniel@gmail.com>
1140
1141 PR fortran/30668
1142 PR fortran/31346
1143 PR fortran/34260
1144 * resolve.c (resolve_global_procedure): Add check for global
1145 procedures with implicit interfaces and assumed-shape or optional
1146 dummy arguments. Verify that function return type, kind and string
1147 lengths match.
1148
dca58d21 11492010-05-21 Tobias Burnus <burnus@net-b.de>
1150
1151 * gfortran.h: Do not include system.h.
1152 * bbt.c: Include system.h.
1153 * data.c: Ditto.
1154 * dependency.c: Ditto.
1155 * dump-parse-tree.c: Ditto.
1156 * arith.h: Do not include gfortran.h.
1157 * constructor.h: Do not include gfortran.h and splay-tree.h.
1158 * match.h: Do not include gfortran.h.
1159 * parse.h: Ditto.
1160 * target-memory.h: Ditto.
1161 * openmp.c: Do not include toplev.h and target.h.
1162 * trans-stmt.c: Ditto not include toplev.h.
1163 * primary.c: Ditto.
1164 * trans-common.c: Tell why toplev.h is needed. And
1165 do not include target.h.
1166 * trans-expr.c: Tell why toplev.h is needed.
1167 * trans-array.c: Ditto.
1168 * trans-openmp.c: Ditto.
1169 * trans-const.c: Ditto.
1170 * trans.c: Ditto.
1171 * trans-types.c: Ditto.
1172 * trans-io.c: Ditto.
1173 * trans-decl.c: Ditto.
1174 * scanner.c: Ditto.
1175 * convert.c: Ditto.
1176 * trans-intrinsic.c: Ditto.
1177 * options.c: Ditto.
1178
51de2e31 11792010-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1180
1181 PR fortran/43851
1182 * match.c (gfc_match_stopcode): Use gfc_match_init_expr. Go to cleanup
1183 before returning MATCH_ERROR. Add check for scalar. Add check for
1184 default integer kind.
1185
ebdf1a90 11862010-05-22 Janus Weil <janus@gcc.gnu.org>
1187
1188 PR fortran/44212
1189 * match.c (gfc_match_select_type): On error jump back out of the local
1190 namespace.
1191 * parse.c (parse_derived): Defer creation of vtab symbols to resolution
1192 stage, more precisely to ...
1193 * resolve.c (resolve_fl_derived): ... this place.
1194
a96bd516 11952010-05-22 Janus Weil <janus@gcc.gnu.org>
1196
1197 PR fortran/44213
1198 * resolve.c (ensure_not_abstract): Allow abstract types with
1199 non-abstract ancestors.
1200
dae0b5cb 12012010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1202
1203 * trans-const.c: Include realmpfr.h.
1204 * Make-lang.in: Update dependencies.
1205
a7a46268 12062010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1207
1208 * trans-const.c, trans-types.c, trans-intrinsic.c:
1209 Clean up redundant includes.
1210
4acad347 12112010-05-20 Daniel Franke <franke.daniel@gmail.com>
1212
1213 PR fortran/38407
1214 * lang.opt (Wunused-dummy-argument): New option.
1215 * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument.
1216 * options.c (gfc_init_options): Disable warn_unused_dummy_argument.
1217 (set_Wall): Enable warn_unused_dummy_argument.
1218 (gfc_handle_option): Set warn_unused_dummy_argument according to
1219 command line.
1220 * trans-decl.c (generate_local_decl): Separate warnings about
1221 unused variables and unused dummy arguments.
1222 * invoke.texi: Documented new option.
1223
989adef3 12242010-05-20 Steven Bosscher <steven@gcc.gnu.org>
1225
1226 * trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
1227 (gfc_conv_string_tmp): Do not assert type comparibilty.
1228 * trans-array.c: Do not include gimple.h, ggc.h, and real.h.
1229 (gfc_conv_expr_descriptor): Remove assert.
1230 * trans-common.c: Clarify why rtl.h and tm.h are included.
1231 * trans-openmp.c: Do not include ggc.h and real.h.
1232 Explain why gimple.h is included.
1233 * trans-const.c: Do not include ggc.h.
1234 * trans-stmt.c: Do not include gimple.h, ggc.h, and real.h.
1235 * trans.c: Do not include ggc.h and real.h.
1236 Explain why gimple.h is included.
1237 * trans-types.c: Do not include tm.h. Explain why langhooks.h
1238 and dwarf2out.h are included.
1239 * trans-io.c: Do not include gimple.h and real.h.
1240 * trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included.
1241 * trans-intrinsic.c: Do not include gimple.h. Explain why tm.h
1242 is included.
1243
fb063c92 12442010-05-20 Tobias Burnus <burnus@net-b.de>
1245
1246 * options.c (gfc_init_options,gfc_post_options): Enable
1247 flag_associative_math by default.
1248
070cc790 12492010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1250
1251 PR fortran/43851
1252 * trans-stmt.c (gfc_trans_stop): Add generation of call to
1253 gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
1254 blank STOP, handling a null expression. (gfc_trans_pause): Use
1255 pause_string for blank PAUSE.
1256 * trans.h: Add external function declaration for error_stop_numeric.
1257 * trans-decl.c (gfc_build_builtin_function_decls): Add the building of
1258 the declaration for the library call. Adjust whitespaces.
1259 * match.c (gfc_match_stopcode): Remove use of the actual stop code to
1260 signal no stop code. Match the expression following the stop and pass
1261 that to the translators. Remove the old use of digit matching. Add
1262 checks that the stop_code expression is INTEGER or CHARACTER, constant,
1263 and if CHARACTER, default character KIND.
1264
721f64bf 12652010-05-19 Daniel Franke <franke.daniel@gmail.com>
1266
1267 PR fortran/44055
1268 * lang.opt (Wconversion-extra): New option.
1269 * gfortran.h (gfc_option_t): Add warn_conversion_extra.
1270 * options.c (gfc_init_options): Disable -Wconversion-extra by default.
1271 (set_Wall): Enable -Wconversion.
1272 (gfc_handle_option): Set warn_conversion_extra.
1273 * intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
1274 introduced for -Wconversion if -Wconversion-extra is present.
1275 * invoke.texi: Add -Wconversion to -Wall; document new behaviour of
1276 -Wconversion; document -Wconversion-extra.
1277
08262510 12782010-05-19 Daniel Franke <franke.daniel@gmail.com>
1279
1280 PR fortran/42360
1281 * gfortran.h (gfc_has_default_initializer): New.
1282 * expr.c (gfc_has_default_initializer): New.
1283 * resolve.c (has_default_initializer): Removed, use
1284 gfc_has_default_initializer() instead. Updated all callers.
1285 * trans-array.c (has_default_initializer): Removed, use
1286 gfc_has_default_initializer() instead. Updated all callers.
1287 * trans-decl.c (generate_local_decl): Do not check the
1288 first component only to check for initializers, but use
1289 gfc_has_default_initializer() instead.
1290
4a67dea4 12912010-05-19 Daniel Franke <franke.daniel@gmail.com>
1292
1293 PR fortran/38404
1294 * primary.c (match_string_constant): Move start_locus just inside
1295 the string.
1296 * data.c (create_character_intializer): Clarified truncation warning.
1297
b53b53b4 12982010-05-19 Daniel Franke <franke.daniel@gmail.com>
1299
1300 PR fortran/34505
1301 * intrinsic.h (gfc_check_float): New prototype.
1302 (gfc_check_sngl): New prototype.
1303 * check.c (gfc_check_float): New.
1304 (gfc_check_sngl): New.
1305 * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
1306 to be a specific for REAL. Added check routines for FLOAT, DFLOAT
1307 and SNGL.
1308 * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
1309 added them to the list of specifics of REAL instead.
1310
7c75339c 13112010-05-17 Janus Weil <janus@gcc.gnu.org>
1312
1313 PR fortran/43990
1314 * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
1315 This is now handled via 'gfc_class_null_initializer'.
1316
b823b0c6 13172010-05-17 Janus Weil <janus@gcc.gnu.org>
1318
1319 * class.c (gfc_add_component_ref,gfc_class_null_initializer,
1320 gfc_build_class_symbol,add_proc_component,add_proc_comps,
1321 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1322 add_procs_to_declared_vtab,add_generic_specifics,
1323 add_generics_to_declared_vtab,gfc_find_derived_vtab,
1324 find_typebound_proc_uop,gfc_find_typebound_proc,
1325 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
1326 gfc_get_tbp_symtree): Moved here from other places.
1327 * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
1328 class.c.
1329 * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
1330 gfc_find_typebound_proc,gfc_find_typebound_user_op,
1331 gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
1332 gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
1333 * Make-lang.in: Add class.o.
1334 * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
1335 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1336 add_procs_to_declared_vtab,add_generic_specifics,
1337 add_generics_to_declared_vtab,gfc_find_derived_vtab,
1338 find_typebound_proc_uop,gfc_find_typebound_proc,
1339 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
1340 gfc_get_tbp_symtree): Move to class.c.
1341
47aacdf9 13422010-05-17 Nathan Froyd <froydnj@codesourcery.com>
e1036019 1343
1344 * trans-types.c (gfc_init_types): Use build_function_type_list.
1345 (gfc_get_ppc_type): Likewise.
1346 * trans-decl.c (gfc_generate_constructors): Likewise.
1347 * f95-lang.c (build_builtin_fntypes): Likewise.
1348 (gfc_init_builtin_functions): Likewise.
1349 (DEF_FUNCTION_TYPE_0): Likewise.
1350 (DEF_FUNCTION_TYPE_1): Likewise.
1351 (DEF_FUNCTION_TYPE_2): Likewise.
1352 (DEF_FUNCTION_TYPE_3): Likewise.
1353 (DEF_FUNCTION_TYPE_4): Likewise.
1354 (DEF_FUNCTION_TYPE_5): Likewise.
1355 (DEF_FUNCTION_TYPE_6): Likewise.
1356 (DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
1357 (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
1358
a46ea0bc 13592010-05-17 Nathan Froyd <froydnj@codesourcery.com>
06f13dc1 1360
1361 * trans-array.c (gfc_trans_array_constructor_value): Use
1362 build_constructor instead of build_constructor_from_list.
1363 (gfc_build_constant_array_constructor): Likewise.
1364 * trans-decl.c (create_main_function): Likewise.
1365 * trans-stmt.c (gfc_trans_character_select): Likewise.
1366
1e4299bb 13672010-05-17 Janus Weil <janus@gcc.gnu.org>
1368
1369 PR fortran/44044
1370 * resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
1371 (resolve_fl_variable_derived): ... this place.
1372 (resolve_symbol): Make sure function symbols (and their result
1373 variables) are not resolved twice.
1374
95773d67 13752010-05-16 Daniel Franke <franke.daniel@gmail.com>
1376
fb063c92 1377 PR fortran/35779
95773d67 1378 * array.c (match_array_list): Revert change from 2010-05-13.
1379
8f1e8e0e 13802010-05-16 Richard Guenther <rguenther@suse.de>
1381
1382 * trans-decl.c (module_htab_decls_hash): Revert last change.
1383
4bdd2942 13842010-05-16 Richard Guenther <rguenther@suse.de>
1385
1386 * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
1387
6bda7b34 13882010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1389
1390 * options.c (set_Wall): Remove special logic for Wuninitialized
1391 without -O.
1392
fabc1fc9 13932010-05-15 Janus Weil <janus@gcc.gnu.org>
1394
1395 PR fortran/44154
1396 PR fortran/42647
1397 * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
1398 if branches.
1399
bcc41e51 14002010-05-15 Janus Weil <janus@gcc.gnu.org>
1401
1402 PR fortran/43207
1403 PR fortran/43969
1404 * gfortran.h (gfc_class_null_initializer): New prototype.
1405 * expr.c (gfc_class_null_initializer): New function to build a NULL
1406 initializer for CLASS pointers.
1407 * symbol.c (gfc_build_class_symbol): Modify internal naming of class
1408 containers. Remove default NULL initialization of $data component.
1409 * trans.c (gfc_allocate_array_with_status): Fix wording of an error
1410 message.
1411 * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
1412 Use new function 'gfc_class_null_initializer'.
1413 * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
1414 class variables.
1415
3e2de00f 14162010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
1417
1418 PR fortran/44135
1419 * fortran/interface.c (get_sym_storage_size): Use signed instead of
1420 unsigned mpz_get_?i routines.
1421
1e71b314 14222010-05-14 Jakub Jelinek <jakub@redhat.com>
1423
1424 * trans.c (trans_code): Set backend locus early.
1425 * trans-decl.c (gfc_get_fake_result_decl): Use source location
1426 of the function instead of current input_location.
1427
148aaa7f 14282010-05-13 Daniel Franke <franke.daniel@gmail.com>
1429
fb063c92 1430 PR fortran/35779
1431 * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
1432 Updated all usages.
1433 * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
1434 * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
1435 iterators.
148aaa7f 1436
bb348f68 14372010-05-13 Jakub Jelinek <jakub@redhat.com>
1438
1439 PR fortran/44036
1440 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
1441 variable lists.
1442 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
1443 by reference dummy procedures or non-dummy procedure pointers.
1444 (gfc_omp_predetermined_sharing): Return
1445 OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
1446
44dde2f3 14472010-05-11 Daniel Franke <franke.daniel@gmail.com>
1448
fb063c92 1449 PR fortran/43711
1450 * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
1451 after OMP statement.
1452 (gfc_match_omp_critical): Likewise.
1453 (gfc_match_omp_flush): Likewise.
1454 (gfc_match_omp_workshare): Likewise.
1455 (gfc_match_omp_master): Likewise.
1456 (gfc_match_omp_ordered): Likewise.
1457 (gfc_match_omp_atomic): Likewise.
1458 (gfc_match_omp_barrier): Likewise.
1459 (gfc_match_omp_end_nowait): Likewise.
44dde2f3 1460
c58db196 14612010-05-11 Daniel Franke <franke.daniel@gmail.com>
1462
1463 PR fortran/31820
1464 * resolve.c (validate_case_label_expr): Removed FIXME.
1465 (resolve_select): Raise default warning on case labels out of range
1466 of the case expression.
1467
d7dbc787 14682010-05-10 Daniel Franke <franke.daniel@gmail.com>
1469
1470 PR fortran/27866
1471 PR fortran/35003
1472 PR fortran/42809
c58db196 1473 * intrinsic.c (gfc_convert_type_warn): Be more discriminative
d7dbc787 1474 about conversion warnings.
1475
f0ea8570 14762010-05-10 Janus Weil <janus@gcc.gnu.org>
1477
1478 PR fortran/44044
1479 * match.c (gfc_match_select_type): Move error message to
1480 resolve_select_type.
1481 * resolve.c (resolve_select_type): Error message moved here from
1482 gfc_match_select_type. Correctly set type of temporary.
1483
8ce86007 14842010-05-10 Richard Guenther <rguenther@suse.de>
1485
1486 * trans-decl.c (gfc_build_library_function_decl): Split out
1487 worker to ...
1488 (build_library_function_decl_1): ... this new function.
1489 Set a fnspec attribute if a specification was provided.
1490 (gfc_build_library_function_decl_with_spec): New function.
1491 (gfc_build_intrinsic_function_decls): Annotate internal_pack
1492 and internal_unpack.
1493
99bb7509 14942010-05-07 Daniel Franke <franke.daniel@gmail.com>
1495
1496 PR fortran/40728
1497 * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
fb063c92 1498 as external.
99bb7509 1499
99178f8c 15002010-05-07 Jason Merrill <jason@redhat.com>
1501
1502 * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
1503 to avoid -Wc++-compat warning.
1504
1f3db819 15052010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
1506
1507 PR 40989
1508 * options.c (gfc_handle_option): Add argument kind.
1509 * gfortran.h (gfc_handle_option): Update declaration.
1510
15112010-05-06 Tobias Burnus <burnus@net-b.de>
f039ec37 1512
1513 PR fortran/43985
1514 * trans-types.c (gfc_sym_type): Mark Cray pointees as
1515 GFC_POINTER_TYPE_P.
1516
8ae2b304 15172010-05-05 Daniel Franke <franke.daniel@gmail.com>
1518
99bb7509 1519 PR fortran/32331
f039ec37 1520 * resolve.c (traverse_data_list): Rephrase error message for
1521 non-constant bounds in data-implied-do.
8ae2b304 1522
53ee5847 15232010-05-05 Daniel Franke <franke.daniel@gmail.com>
1524
1525 PR fortran/24978
1526 * gfortran.h: Removed repeat count from constructor, removed
1527 all usages.
1528 * data.h (gfc_assign_data_value_range): Changed return value from
1529 void to gfc_try.
1530 * data.c (gfc_assign_data_value): Add location to constructor element.
1531 (gfc_assign_data_value_range): Call gfc_assign_data_value()
1532 for each element in range. Return early if an error was generated.
1533 * resolve.c (check_data_variable): Stop early if range assignment
1534 generated an error.
1535
35820014 15362010-05-05 Janus Weil <janus@gcc.gnu.org>
1537
1538 PR fortran/43696
1539 * resolve.c (resolve_fl_derived): Some fixes for class variables.
1540 * symbol.c (gfc_build_class_symbol): Add separate class container for
1541 class pointers.
1542
501acd87 15432010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
1544
1545 PR fortran/43592
1546 * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
1547
746a1b37 15482010-05-02 Tobias Burnus <burnus@net-b.de>
1549
1550 PR fortran/18918
1551 * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
1552 for lcobound, ucobound, image_index and this_image.
1553 * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
1554 gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
1555 * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
1556 gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
1557 functions.
1558 (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
1559
15602010-04-30 Tobias Burnus <burnus@net-b.de>
2efec227 1561
1562 PR fortran/18918
1563 PR fortran/43931
1564 * trans-types.c (gfc_get_array_descriptor_base): Fix index
1565 calculation for array descriptor types.
1566
09c509ed 15672010-04-29 Janus Weil <janus@gcc.gnu.org>
1568
1569 PR fortran/43896
1570 * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
1571 initializers for PPC members of the vtabs.
1572
15732010-04-29 Janus Weil <janus@gcc.gnu.org>
1574
1575 PR fortran/42274
1576 * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
1577 attribute for all PPC members of the vtypes.
1578 (copy_vtab_proc_comps): Copy the correct interface.
1579 * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
1580 * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
1581 a dummy argument and make sure all PPC members of the vtab are
1582 initialized correctly.
1583 (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
1584 in call to gfc_trans_assign_vtab_procs.
1585 * trans-stmt.c (gfc_trans_allocate): Ditto.
1586
15872010-04-29 Paul Thomas <pault@gcc.gnu.org>
1588
1589 PR fortran/43326
1590 * resolve.c (resolve_typebound_function): Renamed
1591 resolve_class_compcall.Do all the detection of class references
1592 here.
1593 (resolve_typebound_subroutine): resolve_class_typebound_call
1594 renamed. Otherwise same as resolve_typebound_function.
1595 (gfc_resolve_expr): Call resolve_typebound_function.
1596 (resolve_code): Call resolve_typebound_subroutine.
1597
15982010-04-29 Janus Weil <janus@gcc.gnu.org>
1599
1600 PR fortran/43492
1601 * resolve.c (resolve_typebound_generic_call): For CLASS methods
1602 pass back the specific symtree name, rather than the target
1603 name.
1604
16052010-04-29 Paul Thomas <pault@gcc.gnu.org>
1606
1607 PR fortran/42353
1608 * resolve.c (resolve_structure_cons): Make the initializer of
1609 the vtab component 'extends' the same type as the component.
1610
16112010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1612
1613 PR fortran/42680
1614 * interface.c (check_interface1): Pass symbol name rather than NULL to
1615 gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
1616 trap MULL. (gfc_compare_derived_types): Revert previous change
1617 incorporated incorrectly during merge from trunk, r155778.
1618 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
1619 than NULL to gfc_compare_interfaces.
1620 * symbol.c (add_generic_specifics): Likewise.
1621
16222010-02-29 Janus Weil <janus@gcc.gnu.org>
1623
1624 PR fortran/42353
1625 * interface.c (gfc_compare_derived_types): Add condition for vtype.
1626 * symbol.c (gfc_find_derived_vtab): Sey access to private.
1627 (gfc_find_derived_vtab): Likewise.
1628 * module.c (ab_attribute): Add enumerator AB_VTAB.
1629 (mio_symbol_attribute): Use new attribute, AB_VTAB.
1630 (check_for_ambiguous): Likewise.
1631
16322010-04-29 Paul Thomas <pault@gcc.gnu.org>
1633 Janus Weil <janus@gcc.gnu.org>
1634
1635 PR fortran/41829
1636 * trans-expr.c (select_class_proc): Remove function.
1637 (conv_function_val): Delete reference to previous.
1638 (gfc_conv_derived_to_class): Add second argument to the call to
1639 gfc_find_derived_vtab.
1640 (gfc_conv_structure): Exclude proc_pointer components when
1641 accessing $data field of class objects.
1642 (gfc_trans_assign_vtab_procs): New function.
1643 (gfc_trans_class_assign): Add second argument to the call to
1644 gfc_find_derived_vtab.
1645 * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
1646 implement holding off searching for the vptr derived type.
1647 (add_proc_component): New function.
1648 (add_proc_comps): New function.
1649 (add_procs_to_declared_vtab1): New function.
1650 (copy_vtab_proc_comps): New function.
1651 (add_procs_to_declared_vtab): New function.
1652 (void add_generic_specifics): New function.
1653 (add_generics_to_declared_vtab): New function.
1654 (gfc_find_derived_vtab): Add second argument to the call to
1655 gfc_find_derived_vtab. Add the calls to
1656 add_procs_to_declared_vtab and add_generics_to_declared_vtab.
1657 * decl.c (build_sym, build_struct): Use new arg in calls to
1658 gfc_build_class_symbol.
1659 * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
1660 definition of struct gfc_class_esym_list. Modify prototypes
1661 of gfc_build_class_symbol and gfc_find_derived_vtab.
1662 * trans-stmt.c (gfc_trans_allocate): Add second argument to the
1663 call to gfc_find_derived_vtab.
1664 * module.c : Add the vtype attribute.
1665 * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
1666 * resolve.c (resolve_typebound_generic_call): Add second arg
1667 to pass along the generic name for class methods.
1668 (resolve_typebound_call): The same.
1669 (resolve_compcall): Use the second arg to carry the generic
1670 name from the above. Remove the reference to class_esym.
1671 (check_members, check_class_members, resolve_class_esym,
1672 hash_value_expr): Remove functions.
1673 (resolve_class_compcall, resolve_class_typebound_call): Modify
1674 to use vtable rather than member by member calls.
1675 (gfc_resolve_expr): Modify second arg in call to
1676 resolve_compcall.
1677 (resolve_select_type): Add second arg in call to
1678 gfc_find_derived_vtab.
1679 (resolve_code): Add second arg in call resolve_typebound_call.
1680 (resolve_fl_derived): Exclude vtypes from check for late
1681 procedure definitions. Likewise for checking of explicit
1682 interface and checking of pass arg.
1683 * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
1684 calls to gfc_find_derived_vtab.
1685 * match.c (select_type_set_tmp): Use new arg in call to
1686 gfc_build_class_symbol.
1687 * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
1688 necessary.
1689 * parse.c (endType): Finish incomplete classes.
1690
2c38838a 16912010-04-28 Tobias Burnus <burnus@net-b.de>
1692
1693 PR fortran/18918
1694 PR fortran/43919
1695 * simplify.c (simplify_cobound): Handle scalar coarrays.
1696
b7657a45 16972010-04-27 Tobias Burnus <burnus@net-b.de>
1698
1699 * gfc-internals.texi: Update copyright year.
1700 * gfortran.texi: Ditto.
1701 * invoke.texi: Ditto.
1702
6ddcd499 17032010-04-27 Tobias Burnus <burnus@net-b.de>
1704
1705 PR fortran/18918
1706 * resolve.c (resolve_allocate_expr): Allow array coarrays.
1707 * trans-types.h (gfc_get_array_type_bounds): Update prototype.
1708 * trans-types.c (gfc_get_array_type_bounds,
1709 gfc_get_array_descriptor_base): Add corank argument.
1710 * trans-array.c (gfc_array_init_size): Handle corank.
1711 (gfc_trans_create_temp_array, gfc_array_allocate,
1712 gfc_conv_expr_descriptor): Add corank argument to call.
1713 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
1714
7f14c1e0 17152010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
1716
1717 PR fortran/30073
1718 PR fortran/43793
1719 * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
1720 of mucking with a tree directly.
1721
bea8073c 17222010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1723
1724 PR fortran/43832
1725 * io.c (gfc_match_open): Remove branch to syntax error. Add call to
1726 gfc_error with new error message.
1727
4abd9760 17282010-04-24 Paul Thomas <pault@gcc.gnu.org>
1729
1730 PR fortran/43841
1731 PR fortran/43843
1732 * trans-expr.c (gfc_conv_expr): Supply an address expression for
1733 GFC_SS_REFERENCE.
1734 (gfc_conv_expr_reference): Call gfc_conv_expr and return for
1735 GFC_SS_REFERENCE.
1736 * trans-array.c (gfc_add_loop_ss_code): Store the value rather
1737 than the address of a GFC_SS_REFERENCE.
1738 * trans.h : Change comment on GFC_SS_REFERENCE.
1739
e2ab564d 17402010-04-22 Richard Guenther <rguenther@suse.de>
1741
1742 PR fortran/43829
1743 * resolve.c (gfc_resolve_index): Wrap around ...
1744 (gfc_resolve_index_1): ... this. Add parameter to allow
1745 any integer kind index type.
1746 (resolve_array_ref): Allow any integer kind for the start
1747 index of an array ref.
1748
2cdf5987 17492010-04-21 Jakub Jelinek <jakub@redhat.com>
1750
1751 PR fortran/43836
1752 * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
1753 the decl.
1754
6ff06d36 17552010-04-20 Harald Anlauf <anlauf@gmx.de>
1756
1757 * intrinsic.c (sort_actual): Remove 'is' in error message.
1758
cf4b41d8 17592010-04-20 Paul Thomas <pault@gcc.gnu.org>
1760
1761 PR fortran/43227
1762 * resolve.c (resolve_fl_derived): If a component character
1763 length has not been resolved, do so now.
1764 (resolve_symbol): The same as above for a symbol character
1765 length.
1766 * trans-decl.c (gfc_create_module_variable): A 'length' decl is
1767 not needed for a character valued, procedure pointer.
1768
1769 PR fortran/43266
1770 * resolve.c (ensure_not_abstract_walker): If 'overriding' is
1771 not found, return FAILURE rather than ICEing.
1772
3c17d7b1 17732010-04-19 Jakub Jelinek <jakub@redhat.com>
1774
1775 PR fortran/43339
1776 * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
1777 sequential loops private in the innermost containing task region.
1778
ad086ed4 17792010-04-18 Eric Botcazou <ebotcazou@adacore.com>
1780
1781 * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
1782 to build_common_tree_nodes.
1783
f10ca8ea 17842010-04-17 Steven G. Kargl <kargl@gcc.gnu.org>
1785
ad086ed4 1786 PR fortran/31538
1787 * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
1788 gfc_msg_bounds by using 'Array bound mismatch' directly.
1789 (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
1790 error message to include the mismatch in the extent of array bound.
1791 * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
1792 * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
f10ca8ea 1793
205a2b68 17942010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1795
1796 * gfortran.texi: Update information on temporary file locations.
1797
7130ec9d 17982010-04-16 Jakub Jelinek <jakub@redhat.com>
1799
1800 * trans-decl.c (gfc_build_qualified_array): Ensure
1801 ubound.N and lbound.N artificial variable names don't appear
1802 in debug info.
1803
26b20b07 18042010-04-15 Steven G. Kargl <kargl@gcc.gnu.org>
1805
1806 PR fortran/30073
1807 * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
1808 block of code. Set name to the variable associated with the descriptor.
1809
3c8f1d7e 18102010-04-15 Jakub Jelinek <jakub@redhat.com>
1811
1812 * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
1813 on VAR_DECL LBOUND and/or UBOUND, even for -O1.
1814
2100808e 18152010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
1816
3c8f1d7e 1817 * intrinsic.texi: Add the missing specific name of intrinsic
2100808e 1818 procedure where the specific name is identical to the generic name.
1819 Fix inconsistent or mismatch in the argument names in intrinsic
1820 procedure descriptions. Add the SCALAR allocatable description to
1821 ALLOCATED.
1822
a250d560 18232010-04-14 Tobias Burnus <burnus@net-b.de>
1824
1825 PR fortran/18918
1826 * array.c (gfc_find_array_ref): Handle codimensions.
1827 (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
1828 * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
1829 gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
1830 New functions.
1831 * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
1832 GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
1833 GFC_ISYM_UCOBOUND.
1834 * intrinsic.h (add_functions): Add this_image, image_index,
1835 lcobound and ucobound intrinsics.
1836 * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
1837 gfc_check_image_index, gfc_check_this_image,
1838 gfc_simplify_image_index, gfc_simplify_lcobound,
1839 gfc_simplify_this_image, gfc_simplify_ucobound):
1840 New function prototypes.
1841 * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
1842 IMAGE_INDEX): Document new intrinsic functions.
1843 * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
1844 error fatal.
1845 * simplify.c (simplify_bound_dim): Handle coarrays.
1846 (simplify_bound): Update simplify_bound_dim call.
1847 (gfc_simplify_num_images): Add -fcoarray=none check.
1848 (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
1849 gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
1850
ee8fe25b 18512010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1852
1853 PR fortran/43747
1854 * constructor.c: Fix typo in comment.
1855 * expr.c (find_array_section): Add check for max array limit.
1856
ae66030b 18572010-04-13 Iain Sandoe <iains@gcc.gnu.org>
1858
1859 PR bootstrap/31400
1860 * gfortranspec.c (lookup_option): Check for -static and return
1861 OPTION_static.
1862 (lang_specific_driver): Break when OPTION_static is discovered.
1863
126387b5 18642010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1865
1866 * array.c (extract_element): Restore function from trunk.
1867 (gfc_get_array_element): Restore function from trunk.
1868 (gfc_expand_constructor): Restore check against
1869 flag_max_array_constructor.
1870 * constructor.c (node_copy_and_append): Delete unused.
1871 * gfortran.h: Delete comment and extra include.
1872 * constructor.h: Bump copyright and clean up TODO comments.
1873 * resolve.c: Whitespace.
1874
18752010-04-12 Daniel Franke <franke.daniel@gmail.com>
1876
1877 * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
1878 with direct access access to elements. Adjusted prototype, fixed all
1879 callers.
1880 (gfc_simplify_dot_product): Removed duplicate check for zero-sized
1881 array.
1882 (gfc_simplify_matmul): Removed usage of ADVANCE macro.
1883 (gfc_simplify_spread): Removed workaround, directly insert elements
1884 at a given array position.
1885 (gfc_simplify_transpose): Likewise.
1886 (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
1887 function calls.
1888 (gfc_simplify_unpack): Likewise.
1889
18902010-04-12 Daniel Franke <franke.daniel@gmail.com>
1891
1892 * simplify.c (only_convert_cmplx_boz): Renamed to ...
1893 (convert_boz): ... this and moved to start of file.
1894 (gfc_simplify_abs): Whitespace fix.
1895 (gfc_simplify_acos): Whitespace fix.
1896 (gfc_simplify_acosh): Whitespace fix.
1897 (gfc_simplify_aint): Whitespace fix.
1898 (gfc_simplify_dint): Whitespace fix.
1899 (gfc_simplify_anint): Whitespace fix.
1900 (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
1901 (gfc_simplify_dnint): Whitespace fix.
1902 (gfc_simplify_asin): Whitespace fix.
1903 (gfc_simplify_asinh): Moved creation of result-expr out of switch.
1904 (gfc_simplify_atan): Likewise.
1905 (gfc_simplify_atanh): Whitespace fix.
1906 (gfc_simplify_atan2): Whitespace fix.
1907 (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
1908 (gfc_simplify_bessel_j1): Likewise.
1909 (gfc_simplify_bessel_jn): Likewise.
1910 (gfc_simplify_bessel_y0): Likewise.
1911 (gfc_simplify_bessel_y1): Likewise.
1912 (gfc_simplify_bessel_yn): Likewise.
1913 (gfc_simplify_ceiling): Reorderd statements.
1914 (simplify_cmplx): Use convert_boz(), check for constant arguments.
1915 Whitespace fix.
1916 (gfc_simplify_cmplx): Use correct default kind. Removed check for
1917 constant arguments.
1918 (gfc_simplify_complex): Replaced if-gate. Removed check for
1919 constant arguments.
1920 (gfc_simplify_conjg): Whitespace fix.
1921 (gfc_simplify_cos): Whitespace fix.
1922 (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
1923 (gfc_simplify_dcmplx): Removed check for constant arguments.
1924 (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
1925 (gfc_simplify_digits): Whitespace fix.
1926 (gfc_simplify_dim): Whitespace fix.
1927 (gfc_simplify_dprod): Reordered statements.
1928 (gfc_simplify_erf): Whitespace fix.
1929 (gfc_simplify_erfc): Whitespace fix.
1930 (gfc_simplify_epsilon): Whitespace fix.
1931 (gfc_simplify_exp): Whitespace fix.
1932 (gfc_simplify_exponent): Use convert_boz().
1933 (gfc_simplify_floor): Reorderd statements.
1934 (gfc_simplify_gamma): Whitespace fix.
1935 (gfc_simplify_huge): Whitespace fix.
1936 (gfc_simplify_iand): Whitespace fix.
1937 (gfc_simplify_ieor): Whitespace fix.
1938 (simplify_intconv): Use gfc_convert_constant().
1939 (gfc_simplify_int): Use simplify_intconv().
1940 (gfc_simplify_int2): Reorderd statements.
1941 (gfc_simplify_idint): Reorderd statements.
1942 (gfc_simplify_ior): Whitespace fix.
1943 (gfc_simplify_ishftc): Removed duplicate type check.
1944 (gfc_simplify_len): Use range_check() instead of manual range check.
1945 (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
1946 (gfc_simplify_log): Whitespace fix.
1947 (gfc_simplify_log10): Whitespace fix.
1948 (gfc_simplify_minval): Whitespace fix.
1949 (gfc_simplify_maxval): Whitespace fix.
1950 (gfc_simplify_mod): Whitespace fix.
1951 (gfc_simplify_modulo): Whitespace fix.
1952 (simplify_nint): Reorderd statements.
1953 (gfc_simplify_not): Whitespace fix.
1954 (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
1955 (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
1956 (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
1957 (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
1958 (gfc_simplify_realpart): Whitespace fix.
1959 (gfc_simplify_selected_char_kind): Removed unused result-variable.
1960 (gfc_simplify_selected_int_kind): Removed unused result-variable.
1961 (gfc_simplify_selected_real_kind): Removed unused result-variable.
1962 (gfc_simplify_sign): Whitespace fix.
1963 (gfc_simplify_sin): Whitespace fix.
1964 (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
1965 (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
1966 (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
1967 (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
1968 (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
1969
19702010-04-12 Daniel Franke <franke.daniel@gmail.com>
1971
1972 * gfortran.h (gfc_start_constructor): Removed.
1973 (gfc_get_array_element): Removed.
1974 * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
1975 instead. Fixed all callers.
1976 (extract_element): Removed.
1977 (gfc_expand_constructor): Temporarily removed check for
1978 max-array-constructor. Will be re-introduced later if still required.
1979 (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
1980 instead. Fixed all callers.
1981 * expr.c (find_array_section): Replaced manual lookup of elements
1982 by gfc_constructor_lookup.
1983
19842010-04-12 Daniel Franke <franke.daniel@gmail.com>
1985
fb063c92 1986 * gfortran.h (gfc_get_null_expr): New prototype.
1987 (gfc_get_operator_expr): New prototype.
1988 (gfc_get_character_expr): New prototype.
1989 (gfc_get_iokind_expr): New prototype.
1990 * expr.c (gfc_get_null_expr): New.
1991 (gfc_get_character_expr): New.
1992 (gfc_get_iokind_expr): New.
1993 (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
1994 * matchexp.c (build_node): Renamed and moved to
1995 expr.c (gfc_get_operator_expr). Reordered arguments to match
1996 other functions. Fixed all callers.
1997 (gfc_get_parentheses): Use specific function to build expr.
1998 * array.c (gfc_match_array_constructor): Likewise.
1999 * arith.c (eval_intrinsic): Likewise.
2000 (gfc_hollerith2int): Likewise.
2001 (gfc_hollerith2real): Likewise.
2002 (gfc_hollerith2complex): Likewise.
2003 (gfc_hollerith2logical): Likewise.
2004 * data.c (create_character_intializer): Likewise.
2005 * decl.c (gfc_match_null): Likewise.
2006 (enum_initializer): Likewise.
2007 * io.c (gfc_match_format): Likewise.
2008 (match_io): Likewise.
2009 * match.c (gfc_match_nullify): Likewise.
2010 * primary.c (match_string_constant): Likewise.
2011 (match_logical_constant): Likewise.
2012 (build_actual_constructor): Likewise.
2013 * resolve.c (build_default_init_expr): Likewise.
2014 * symbol.c (generate_isocbinding_symbol): Likewise.
2015 (gfc_build_class_symbol): Likewise.
2016 (gfc_find_derived_vtab): Likewise.
2017 * simplify.c (simplify_achar_char): Likewise.
2018 (gfc_simplify_adjustl): Likewise.
2019 (gfc_simplify_adjustr): Likewise.
2020 (gfc_simplify_and): Likewise.
2021 (gfc_simplify_bit_size): Likewise.
2022 (gfc_simplify_is_iostat_end): Likewise.
2023 (gfc_simplify_is_iostat_eor): Likewise.
2024 (gfc_simplify_isnan): Likewise.
2025 (simplify_bound): Likewise.
2026 (gfc_simplify_leadz): Likewise.
2027 (gfc_simplify_len_trim): Likewise.
2028 (gfc_simplify_logical): Likewise.
2029 (gfc_simplify_maxexponent): Likewise.
2030 (gfc_simplify_minexponent): Likewise.
2031 (gfc_simplify_new_line): Likewise.
2032 (gfc_simplify_null): Likewise.
2033 (gfc_simplify_or): Likewise.
2034 (gfc_simplify_precision): Likewise.
2035 (gfc_simplify_repeat): Likewise.
2036 (gfc_simplify_scan): Likewise.
2037 (gfc_simplify_size): Likewise.
2038 (gfc_simplify_trailz): Likewise.
2039 (gfc_simplify_trim): Likewise.
2040 (gfc_simplify_verify): Likewise.
2041 (gfc_simplify_xor): Likewise.
2042 * trans-io.c (build_dt): Likewise.
2043 (gfc_new_nml_name_expr): Removed.
126387b5 2044
20452010-04-12 Daniel Franke <franke.daniel@gmail.com>
2046
2047 * arith.h (gfc_constant_result): Removed prototype.
2048 * constructor.h (gfc_build_array_expr): Removed prototype.
2049 (gfc_build_structure_constructor_expr): Removed prototype.
2050 * gfortran.h (gfc_int_expr): Removed prototype.
2051 (gfc_logical_expr): Removed prototype.
2052 (gfc_get_array_expr): New prototype.
2053 (gfc_get_structure_constructor_expr): New prototype.
2054 (gfc_get_constant_expr): New prototype.
2055 (gfc_get_int_expr): New prototype.
2056 (gfc_get_logical_expr): New prototype.
2057 * arith.c (gfc_constant_result): Moved and renamed to
2058 expr.c (gfc_get_constant_expr). Fixed all callers.
2059 * constructor.c (gfc_build_array_expr): Moved and renamed to
2060 expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
2061 and kind. Fixed all callers.
2062 (gfc_build_structure_constructor_expr): Moved and renamed to
2063 expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
2064 to type and kind. Fixed all callers.
2065 * expr.c (gfc_logical_expr): Renamed to ...
2066 (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
2067 (gfc_int_expr): Renamed to ...
2068 (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
2069 callers.
2070 (gfc_get_constant_expr): New.
2071 (gfc_get_array_expr): New.
2072 (gfc_get_structure_constructor_expr): New.
2073 * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
2074 instead.
2075
20762010-04-12 Daniel Franke <franke.daniel@gmail.com>
2077
2078 * constructor.h: New.
2079 * constructor.c: New.
2080 * Make-lang.in: Add new files to F95_PARSER_OBJS.
2081 * arith.c (reducy_unary): Use constructor API.
2082 (reduce_binary_ac): Likewise.
2083 (reduce_binary_ca): Likewise.
2084 (reduce_binary_aa): Likewise.
2085 * check.c (gfc_check_pack): Likewise.
2086 (gfc_check_reshape): Likewise.
2087 (gfc_check_unpack): Likewise.
2088 * decl.c (add_init_expr_to_sym): Likewise.
2089 (build_struct): Likewise.
2090 * dependency.c (gfc_check_dependency): Likewise.
2091 (contains_forall_index_p): Likewise.
2092 * dump-parse-tree.c (show_constructor): Likewise.
2093 * expr.c (free_expr0): Likewise.
2094 (gfc_copy_expr): Likewise.
2095 (gfc_is_constant_expr): Likewise.
2096 (simplify_constructor): Likewise.
2097 (find_array_element): Likewise.
2098 (find_component_ref): Likewise.
2099 (find_array_section): Likewise.
2100 (find_substring_ref): Likewise.
2101 (simplify_const_ref): Likewise.
2102 (scalarize_intrinsic_call): Likewise.
2103 (check_alloc_comp_init): Likewise.
2104 (gfc_default_initializer): Likewise.
2105 (gfc_traverse_expr): Likewise.
2106 * iresolve.c (check_charlen_present): Likewise.
2107 (gfc_resolve_reshape): Likewise.
2108 (gfc_resolve_transfer): Likewise.
2109 * module.c (mio_constructor): Likewise.
2110 * primary.c (build_actual_constructor): Likewise.
2111 (gfc_match_structure_constructor): Likewise.
2112 * resolve.c (resolve_structure_cons): Likewise.
2113 * simplify.c (is_constant_array_expr): Likewise.
2114 (init_result_expr): Likewise.
2115 (transformational_result): Likewise.
2116 (simplify_transformation_to_scalar): Likewise.
2117 (simplify_transformation_to_array): Likewise.
2118 (gfc_simplify_dot_product): Likewise.
2119 (simplify_bound): Likewise.
2120 (simplify_matmul): Likewise.
2121 (simplify_minval_maxval): Likewise.
2122 (gfc_simplify_pack): Likewise.
2123 (gfc_simplify_reshape): Likewise.
2124 (gfc_simplify_shape): Likewise.
2125 (gfc_simplify_spread): Likewise.
2126 (gfc_simplify_transpose): Likewise.
2127 (gfc_simplify_unpack): Likewise.q
2128 (gfc_convert_constant): Likewise.
2129 (gfc_convert_char_constant): Likewise.
2130 * target-memory.c (size_array): Likewise.
2131 (encode_array): Likewise.
2132 (encode_derived): Likewise.
2133 (interpret_array): Likewise.
2134 (gfc_interpret_derived): Likewise.
2135 (expr_to_char): Likewise.
2136 (gfc_merge_initializers): Likewise.
2137 * trans-array.c (gfc_get_array_constructor_size): Likewise.
2138 (gfc_trans_array_constructor_value): Likewise.
2139 (get_array_ctor_strlen): Likewise.
2140 (gfc_constant_array_constructor_p): Likewise.
2141 (gfc_build_constant_array_constructor): Likewise.
2142 (gfc_trans_array_constructor): Likewise.
2143 (gfc_conv_array_initializer): Likewise.
2144 * trans-decl.c (check_constant_initializer): Likewise.
2145 * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
2146 (gfc_apply_interface_mapping_to_cons): Likewise.
2147 (gfc_trans_structure_assign): Likewise.
2148 (gfc_conv_structure): Likewise.
2149 * array.c (check_duplicate_iterator): Likewise.
2150 (match_array_list): Likewise.
2151 (match_array_cons_element): Likewise.
2152 (gfc_match_array_constructor): Likewise.
2153 (check_constructor_type): Likewise.
2154 (check_constructor): Likewise.
2155 (expand): Likewise.
2156 (expand_constructor): Likewise.
2157 (extract_element): Likewise.
2158 (gfc_expanded_ac): Likewise.
2159 (resolve_array_list): Likewise.
2160 (gfc_resolve_character_array_constructor): Likewise.
2161 (copy_iterator): Renamed to ...
2162 (gfc_copy_iterator): ... this.
2163 (gfc_append_constructor): Removed.
2164 (gfc_insert_constructor): Removed unused function.
2165 (gfc_get_constructor): Removed.
2166 (gfc_free_constructor): Removed.
2167 (qgfc_copy_constructor): Removed.
2168 * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
2169 Removed all references. Replaced constructor list by splay-tree.
2170 (struct gfc_constructor): Removed member 'next', moved 'offset' from
2171 the inner struct, added member 'base'.
2172 (gfc_append_constructor): Removed prototype.
2173 (gfc_insert_constructor): Removed prototype.
2174 (gfc_get_constructor): Removed prototype.
2175 (gfc_free_constructor): Removed prototype.
2176 (qgfc_copy_constructor): Removed prototype.
2177 (gfc_copy_iterator): New prototype.
2178 * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
2179
21d5f487 21802010-04-10 Tobias Burnus <burnus@net-b.de>
2181
2182 PR fortran/43591
2183 * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
2184 proc-pointers and type-bound procedures.
2185 (gfc_specification_expr): Check proc-pointers for pureness.
2186
5fe33912 21872010-04-09 Iain Sandoe <iains@gcc.gnu.org>
2188
2189 PR bootstrap/43684
2190 * gfortranspec.c (lang_specific_driver): Do not expose vars
2191 only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
2192 for such.
2193
e97ac7c0 21942010-04-09 Tobias Burnus <burnus@net-b.de>
2195
2196 PR fortran/18918
2197 * decl.c (variable_decl, match_attr_spec): Fix setting the array
2198 spec.
2199 * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
2200 * data.c (gfc_assign_data_value): Ditto.
2201 * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
2202 (gfc_traverse_expr): Traverse also through codimension expressions.
2203 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
2204 gfc_has_ultimate_pointer): New functions.
2205 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
2206 (gfc_array_ref): Add codimen.
2207 (gfc_array_ref): Add in_allocate.
2208 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
2209 gfc_has_ultimate_pointer): Add prototypes.
2210 * interface.c (compare_parameter, compare_actual_formal,
2211 check_intents): Add coarray constraints.
2212 * match.c (gfc_match_iterator): Add coarray constraint.
2213 * match.h (gfc_match_array_ref): Update interface.
2214 * primary.c (gfc_match_varspec): Handle codimensions.
2215 * resolve.c (coarray_alloc, inquiry_argument): New static variables.
2216 (check_class_members): Return gfc_try instead for error recovery.
2217 (resolve_typebound_function,resolve_typebound_subroutine,
2218 check_members): Handle return value of check_class_members.
2219 (resolve_structure_cons, resolve_actual_arglist, resolve_function,
2220 check_dimension, compare_spec_to_ref, resolve_array_ref,
2221 resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
2222 resolve_allocate_expr, resolve_ordinary_assign): Add coarray
2223 support.
2224 * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
2225 Skip over coarray refs.
2226 (gfc_array_allocate) Add support for references containing coindexes.
2227 * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
2228 (gfc_map_intrinsic_function): Ignore codimensions.
2229
d276e820 22302010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
2231
2232 PR fortran/28039
2233 * io.c (check_format_string): Added check for additional non
2234 blank characters after the format string was successfully
2235 parsed.
2236 * io.c (check_format): Changed the error messages for positive
2237 int required and period required to drop through the error logic
2238 and report with gfc_error instead of gfc_error_now. Corrected
2239 format postion for hollerith strings.
2240
d1da324d 22412010-04-08 Tobias Burnus <burnus@net-b.de>
2242
2243 * module.c (use_iso_fortran_env_module): Fix standard check.
2244
4081d362 22452010-04-07 Jakub Jelinek <jakub@redhat.com>
2246
2247 * parse.c (parse_derived, parse_enum): Avoid set but not used
2248 warning.
2249
bc81a609 22502010-04-07 Janne Blomqvist <jb@gcc.gnu.org>
2251
2252 PR fortran/40539
2253 * gfortran.texi: Add section about representation of
d1da324d 2254 LOGICAL variables.
bc81a609 2255
3a79f5da 22562010-04-07 Simon Baldwin <simonb@google.com>
2257
2258 * cpp.c (cb_cpp_error): Add warning reason argument, set a value
2259 for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
2260
e190b18a 22612010-04-07 Richard Guenther <rguenther@suse.de>
2262
2263 * options.c (gfc_init_options): Do not set.
2264
76daec3c 22652010-04-06 Tobias Burnus <burnus@net-b.de>
2266
2267 PR fortran/18918
2268 * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
2269 * match.c (gfc_match_critical, sync_statement): Ditto.
2270 * gfortran.h (gfc_fcoarray): New enum.
2271 (gfc_option_t): Use it.
2272 * lang.opt (fcoarray): Add new flag.
2273 * invoke.texi (fcoarray): Document it.
2274 * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
2275 (gfc_handle_coarray_option): New function.
2276
2d640d61 22772010-04-06 Tobias Burnus <burnus@net-b.de>
2278
2279 PR fortran/18918
2280 * gfortran.h (gfc_array_spec): Add cotype.
2281 * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
2282 and defer error diagnostic.
2283 * resolve.c (resolve_fl_derived): Add missing check.
2284 (resolve_symbol): Add cotype/type check.
2285 * parse.c (parse_derived): Fix setting of coarray_comp.
2286
aff518b0 22872010-04-06 Tobias Burnus <burnus@net-b.de>
2288
2289 PR fortran/18918
2290 * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
2291 match_array_element_spec,gfc_copy_array_spec,
2292 gfc_compare_array_spec): Include corank.
2293 (match_array_element_spec,gfc_set_array_spec): Support codimension.
2294 * decl.c (build_sym,build_struct,variable_decl,
2295 match_attr_spec,attr_decl1,cray_pointer_decl,
2296 gfc_match_volatile): Add codimension.
2297 (gfc_match_codimension): New function.
2298 * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
2299 * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
2300 (gfc_add_codimension): New function prototype.
2301 * match.h (gfc_match_codimension): New function prototype.
2302 (gfc_match_array_spec): Update prototype
2303 * match.c (gfc_match_common): Update gfc_match_array_spec call.
2304 * module.c (MOD_VERSION): Bump.
2305 (mio_symbol_attribute): Support coarray attributes.
2306 (mio_array_spec): Add corank support.
2307 * parse.c (decode_specification_statement,decode_statement,
2308 parse_derived): Add coarray support.
2309 * resolve.c (resolve_formal_arglist, was_declared,
2310 is_non_constant_shape_array, resolve_fl_variable,
2311 resolve_fl_derived, resolve_symbol): Add coarray support.
2312 * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
2313 gfc_build_class_symbol): Add coarray support.
2314 (gfc_add_codimension): New function.
2315
e1eea5a7 23162010-04-06 Tobias Burnus <burnus@net-b.de>
2317
2318 PR fortran/18918
2319 * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
2320 atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
2321 stat_locked_other_image, stat_stopped_image and stat_unlocked of
2322 Fortran 2008.
2323 * intrinsic.texi (iso_fortran_env): Ditto.
2324 * libgfortran.h (libgfortran_stat_codes): New enum.
2325 * module.c (use_iso_fortran_env_module): Honour -std= when loading
2326 constants from the intrinsic module.
2327
c6cd3066 23282010-04-06 Tobias Burnus <burnus@net-b.de>
2329
2330 PR fortran/39997
2331 * intrinsic.c (add_functions): Add num_images.
2332 * decl.c (gfc_match_end): Handle END CRITICAL.
2333 * intrinsic.h (gfc_simplify_num_images): Add prototype.
2334 * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
2335 and SYNC.
2336 * gfortran.h (gfc_statement): Add enum items for those.
2337 (gfc_exec_op) Ditto.
2338 (gfc_isym_id): Add num_images.
2339 * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
2340 (gfc_trans_sync,gfc_trans_critical): New functions.
2341 * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
2342 gfc_trans_critical): Add/update prototypes.
2343 * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
2344 and SYNC statements.
2345 * trans.h (gfor_fndecl_error_stop_string) Add variable.
2346 * resolve.c (resolve_sync): Add function.
2347 (gfc_resolve_blocks): Handle CRITICAL.
2348 (resolve_code): Handle CRITICAL, ERROR STOP,
2349 (resolve_branch): Add CRITICAL constraint check.
2350 and SYNC statements.
2351 * st.c (gfc_free_statement): Add new statements.
2352 * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
2353 (gfc_build_builtin_function_decls): Initialize it.
2354 * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
2355 (gfc_match_critical, gfc_match_error_stop, sync_statement,
2356 gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
2357 New functions.
2358 (match_exit_cycle): Handle CRITICAL constraint.
2359 (gfc_match_stopcode): Handle ERROR STOP.
2360 * match.h (gfc_match_critical, gfc_match_error_stop,
2361 gfc_match_sync_all, gfc_match_sync_images,
2362 gfc_match_sync_memory): Add prototype.
2363 * parse.c (decode_statement, gfc_ascii_statement,
2364 parse_executable): Handle new statements.
2365 (parse_critical_block): New function.
2366 * parse.h (gfc_compile_state): Add COMP_CRITICAL.
2367 * intrinsic.texi (num_images): Document new function.
2368 * simplify.c (gfc_simplify_num_images): Add function.
2369
a545a8f8 23702010-04-06 Tobias Burnus <burnus@net-b.de>
2371
2372 PR fortran/43178
2373 * trans-array.c (gfc_conv_expr_descriptor): Update
2374 gfc_trans_scalar_assign call.
2375 (has_default_initializer): New function.
2376 (gfc_trans_deferred_array): Nullify less often.
2377 * trans-expr.c (gfc_conv_subref_array_arg,
2378 gfc_trans_subcomponent_assign): Update call to
2379 gfc_trans_scalar_assign.
2380 (gfc_trans_scalar_assign): Add parameter and pass it on.
2381 (gfc_trans_assignment_1): Optionally, do not dealloc before
2382 assignment.
2383 * trans-openmp.c (gfc_trans_omp_array_reduction): Update
2384 call to gfc_trans_scalar_assign.
2385 * trans-decl.c (gfc_get_symbol_decl): Do not always apply
2386 initializer to static variables.
2387 (gfc_init_default_dt): Add dealloc parameter and pass it on.
2388 * trans-stmt.c (forall_make_variable_temp,
2389 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
2390 gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
2391 gfc_trans_allocate): Update gfc_trans_assignment call.
2392 * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
2393 gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
2394 parameter to prototype.
2395
c788a00c 23962010-03-31 Paul Thomas <pault@gcc.gnu.org>
2397
2398 * ioparm.def : Update copyright.
2399 * lang.opt : ditto
2400 * trans-array.c : ditto
2401 * trans-array.h : ditto
2402 * expr.c: ditto
2403 * trans-types.c: ditto
2404 * dependency.c : ditto
2405 * gfortran.h : ditto
2406 * options.c : ditto
2407 * trans-io.c : ditto
2408 * trans-intrinsic.c : ditto
2409 * libgfortran.h : ditto
2410 * invoke.texi : ditto
2411 * intrinsic.texi : ditto
2412 * trans.c : ditto
2413 * trans.h : ditto
2414 * intrinsic.c : ditto
2415 * interface.c : ditto
2416 * iresolve.c : ditto
2417 * trans-stmt.c : ditto
2418 * trans-stmt.h : ditto
2419 * parse,c : ditto
2420 * match.h : ditto
2421 * error.c : ditto
2422
9f1470cb 24232010-03-20 Paul Thomas <pault@gcc.gnu.org>
2424
2425 PR fortran/43450
2426 * trans-decl.c (gfc_create_module_variable): With -fwhole-file
2427 do not assert the context of derived types.
2428
f4e9c676 24292010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2430
2431 PR fortran/43409
2432 * ioparm.def: Change inquire size variable to type pointer to
2433 GFC_IO_INT type.
2434
8fcd6158 24352010-03-18 Paul Thomas <pault@gcc.gnu.org>
2436
fb063c92 2437 PR fortran/43039
2438 * trans-expr.c (conv_parent_component_references): Ensure that
8fcd6158 2439 'dt' has a backend_decl.
2440
fb063c92 2441 PR fortran/43043
2442 * trans-expr.c (gfc_conv_structure): Ensure that the derived
8fcd6158 2443 type has a backend_decl.
2444
fb063c92 2445 PR fortran/43044
2446 * resolve.c (resolve_global_procedure): Check that the 'cl'
8fcd6158 2447 structure is not NULL.
2448
eb21bbd2 24492010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
2450
2451 * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
2452 redundant tab.
2453
452695a8 24542010-03-17 Tobias Burnus <burnus@net-b.de>
2455
2456 PR fortran/43331
2457 * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
2458 gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
2459 check.
2460 * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
2461 pointees as having explizit size.
2462 * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
2463 check.
2464 * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
2465 (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
2466 * resolve.c (resolve_symbol): Handle cp_was_assumed.
2467 * trans-decl.c (gfc_trans_deferred_vars): Ditto.
2468 (gfc_finish_var_decl): Don't mark Cray pointees as restricted
2469 pointers.
2470
895e6dfa 24712010-03-14 Tobias Burnus <burnus@net-b.de>
2472
2473 PR fortran/43362
2474 * resolve.c (resolve_structure_cons): Add missing PURE constraint.
2475 (resolve_ordinary_assign): Add check to avoid segfault.
2476
ae925cc0 24772010-03-12 Paul Thomas <pault@gcc.gnu.org>
2478
2479 PR fortran/43291
2480 PR fortran/43326
2481 * resolve.c (resolve_compcall): Add new boolean dummy argument
2482 'class_members'. Only resolve expression at end if false.
2483 Remove redundant, static variable 'class_object'.
2484 (check_class_members): Add extra argument to call of
2485 resolve_compcall.
2486 (resolve_typebound_function): Renamed resolve_class_compcall.
2487 Do all the detection of class references here. Correct calls to
2488 resolve_compcall for extra argument.
2489 (resolve_typebound_subroutine): resolve_class_typebound_call
2490 renamed. Otherwise same as resolve_typebound_function.
2491 (gfc_resolve_expr): Call resolve_typebound_function.
2492 (resolve_code): Call resolve_typebound_subroutine.
2493
372720b0 24942010-03-10 Tobias Burnus <burnus@net-b.de
2495
2496 PR fortran/43303
2497 * symbol.c (get_iso_c_sym): Set sym->result.
2498
b652cb7e 24992010-03-08 Janus Weil <janus@gcc.gnu.org>
2500
2501 PR fortran/43256
2502 * resolve.c (resolve_compcall): Don't set 'value.function.name' here
2503 for TBPs, otherwise they will not be resolved properly.
2504 (resolve_function): Use 'value.function.esym' instead of
372720b0 2505 'value.function.name' to check if we're dealing with a TBP.
b652cb7e 2506 (check_class_members): Set correct type of passed object for all TBPs,
2507 not only generic ones, except if the type is abstract.
2508
519651c1 25092010-03-04 Janus Weil <janus@gcc.gnu.org>
2510
2511 PR fortran/43244
2512 * decl.c (gfc_match_final_decl): Make sure variable names starting with
2513 'final...' are not misinterpreted as FINAL statements.
2514
1fd5778e 25152010-03-03 Paul Thomas <pault@gcc.gnu.org>
2516
2517 PR fortran/43243
2518 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2519 allocatable ultimate components do not need temporaries, whilst
2520 ultimate pointer components do.
2521
c4cec8b1 25222010-03-03 Janus Weil <janus@gcc.gnu.org>
2523
2524 PR fortran/43169
2525 * resolve.c (resolve_code): Correctly set gfc_current_ns for
2526 EXEC_SELECT_TYPE.
2527 (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
2528 (gfc_pure): Ditto.
2529
34de9f8b 25302010-03-02 Paul Thomas <pault@gcc.gnu.org>
2531
2532 PR fortran/43180
2533 * trans-array.c (gfc_conv_array_parameter): A full array of
2534 derived type need not be restricted to a symbol without an
2535 array spec to use the call to gfc_conv_expr_descriptor.
2536
2537 PR fortran/43173
2538 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2539 allocatable arrays do not need temporaries.
2540
9b407bc9 25412010-03-01 Tobias Burnus <burnus@net-b.de>
2542
2543 PR fortran/43199
2544 * resolve.c (find_array_spec): Handle REF_COMPONENT with
2545 CLASS components.
2546
cf5f0e1c 25472010-02-28 Tobias Burnus <burnus@net-b.de>
2548
2549 PR fortran/43205
2550 * trans-expr.c (is_zero_initializer_p): Move up in the file.
2551 (gfc_conv_initializer): Handle zero initializer as special case.
2552
70464669 25532010-02-27 Tobias Burnus <burnus@net-b.de>
2554
2555 PR fortran/43185
2556 * resolve.c (resolve_fl_variable_derived): Imply SAVE
2557 for module variables for Fortran 2008.
2558
5d713e67 25592010-02-25 Jakub Jelinek <jakub@redhat.com>
2560
2561 PR debug/43166
2562 * trans-common.c (build_common_decl): Also update DECL_MODE,
2563 and DECL_SIZE when encountering a larger common block and call
2564 layout_decl.
2565
fb063c92 25662010-02-24 Tobias Burnus <burnus@net-b.de>
70a03b17 2567
2568 PR fortran/43042
2569 * trans-expr.c (gfc_conv_initializer): Call directly
fb063c92 2570 gfc_conv_constant for C_NULL_(FUN)PTR.
70a03b17 2571
9bf78879 25722010-02-22 Paul Thomas <pault@gcc.gnu.org>
2573
2574 PR fortran/43072
2575 * dependency.c (gfc_full_array_ref_p): Check for contiguous by
2576 checking the rest of the dimensions for elements.
2577
54564d01 25782010-02-21 Tobias Burnus <burnus@net-b.de>
2579
2580 PR fortran/35259
2581 * gfortran.h (gfc_option_t): New flag -fprotect-parens.
2582 * lang.opt: Ditto.
2583 * option.c (gfc_init_options,gfc_handle_option): Ditto.
2584 * trans-expr.c (gfc_conv_expr_op): Use the flag.
2585 * invoke.texi: Document new -fno-protect-parens flag.
2586
08803898 25872010-02-20 Paul Thomas <pault@gcc.gnu.org>
2588
2589 PR fortran/36932
2590 PR fortran/36933
2591 PR fortran/43072
2592 PR fortran/43111
2593 * dependency.c (gfc_check_argument_var_dependency): Use enum
2594 value instead of arithmetic vaue for 'elemental'.
2595 (check_data_pointer_types): New function.
2596 (gfc_check_dependency): Call check_data_pointer_types.
2597 * trans-array.h : Change fourth argument of
2598 gfc_conv_array_parameter to boolean.
2599 * trans-array.c (gfc_conv_array_parameter): A contiguous array
2600 can be a dummy but it must not be assumed shape or deferred.
2601 Change fourth argument to boolean. Array constructor exprs will
2602 always be contiguous and do not need packing and unpacking.
2603 * trans-expr.c (gfc_conv_procedure_call): Clean up some white
2604 space and change fourth argument of gfc_conv_array_parameter
2605 to boolean.
2606 (gfc_trans_arrayfunc_assign): Change fourth argument of
2607 gfc_conv_array_parameter to boolean.
2608 * trans-io.c (gfc_convert_array_to_string): The same.
2609 * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
2610
3a60b071 26112010-02-20 Tobias Burnus <burnus@net-b.de>
2612
2613 PR fortran/42958
2614 * libgfortran.h: Add GFC_RTCHECK_MEM.
2615 * invoke.texi (-fcheck=): Document -fcheck=mem.
2616 * tranc.c (gfc_call_malloc): Remove negative-size run-time error
2617 and enable malloc-success check only with -fcheck=mem.
2618 * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
2619
cd584ef8 26202010-02-16 Tobias Burnus <burnus@net-b.de>
2621
2622 PR fortran/43040
2623 * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
2624 * intrinsic.c (add_functions): Ditto.
2625 * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
2626 * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
2627
1e8c7f7a 26282010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2629
2630 PR fortran/32382
2631 * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
2632 gfc_trans_do prototype.
2633 * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
2634 a loop exit condition. If exit condition is given, build the loop exit
2635 code, checking IO results of implied do loops in READ and WRITE.
2636 (gfc_trans_do): Likewise.
2637 * trans.c (trans_code): New static work function, previously
2638 gfc_trans_code. Passes exit condition to gfc_trans_do.
2639 (gfc_trans_code): Calls trans_code with NULL_TREE condition.
2640 (gfc_trans_code_cond): Calls trans_code with loop exit condition.
2641 * trans-io.c (build_dt): Build an exit condition to allow checking IO
2642 result status bits in the dtparm structure. Use this condition in call
2643 to gfc_trans_code_cond.
2644
d3d55916 26452010-02-13 Paul Thomas <pault@gcc.gnu.org>
2646
2647 PR fortran/41113
2648 PR fortran/41117
2649 * trans-array.c (gfc_conv_array_parameter): Use
2650 gfc_full_array_ref_p to detect full and contiguous variable
2651 arrays. Full array components and contiguous arrays do not need
2652 internal_pack and internal_unpack.
2653
a8beb4f8 26542010-02-11 Jakub Jelinek <jakub@redhat.com>
2655
1fb1e0c8 2656 PR fortran/43030
2657 * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
2658
a8beb4f8 2659 PR fortran/43029
2660 * decl.c (enumerator_decl): Don't call gfc_free_enum_history
2661 here.
2662 (gfc_match_enumerator_def): But here whenever enumerator_decl returns
2663 MATCH_ERROR.
2664
22c1d301 26652010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
2666 Tobias Burnus <burnus@net-b.de>
2667
2668 PR fortran/40823
2669 * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
2670
c1630d65 26712010-02-10 Tobias Burnus <burnus@net-b.de>
2672
2673 PR fortran/43015
2674 * trans-decl.c (gfc_generate_function_code): Only check
2675 actual-vs.-dummy character bounds if not bind(C).
2676
5b0b6156 26772010-02-10 Jakub Jelinek <jakub@redhat.com>
2678
2679 PR fortran/42309
2680 * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
2681 info->dimen after info has been freed.
2682
5a80a58b 26832010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
9640c8e1 2684
2685 PR fortran/42999
2686 * array.c (gfc_constant_ac): Do not prevent expansion of constructors
2687 with iterators.
2688
51672aa8 26892010-02-09 Jakub Jelinek <jakub@redhat.com>
2690
2691 * module.c (fix_mio_expr): Declare sym.
2692
d83f123f 26932010-02-09 Paul Thomas <pault@gcc.gnu.org>
2694
2695 PR fortran/41869
2696 * module.c (fix_mio_expr): Fix for private generic procedures.
2697
7c967940 26982010-02-09 Daniel Kraft <d@domob.eu>
2699
2700 PR fortran/39171
2701 * resolve.c (resolve_charlen): Change warning about negative CHARACTER
2702 length to be correct and issue only with -Wsurprising.
2703 * invoke.texi (Wsurprising): Mention this new warning that is
2704 turned on by -Wsurprising.
2705
38307b08 27062010-02-09 Daniel Kraft <d@domob.eu>
2707
2708 PR fortran/41507
2709 * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
2710 can be CHARACTER type.
2711 (MINVAL), (MAXLOC), (MINLOC): Ditto.
2712
3446c28b 27132010-02-05 Paul Thomas <pault@gcc.gnu.org>
2714
2715 PR fortran/42309
2716 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
2717 'formal_ptr'. If this is true, give returned descriptor unity
2718 lbounds, in all dimensions, and the appropriate offset.
2719 (gfc_conv_procedure_call); If formal is a pointer, set the last
2720 argument of gfc_conv_subref_array_arg to true.
2721 * trans.h : Add last argument for gfc_conv_subref_array_arg.
2722 * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
2723 new arg of gfc_conv_subref_array_arg to false.
2724 * trans-stmt.c (forall_make_variable_temp): The same.
2725
27635231 27262010-02-03 Tobias Burnus <burnus@net-b.de>
2727
2728 PR fortran/42936
2729 * interface.c (compare_parameter): Disable rank-checking
2730 for NULL().
2731
76d63c82 27322010-02-02 Tobias Burnus <burnus@net-b.de>
2733
2734 PR fortran/42650
2735 * parse.c (decode_specification_statement): Use sym->result not sym.
2736
b3a420c5 27372010-02-01 Tobias Burnus <burnus@net-b.de>
2738
2739 PR fortran/42922
2740 * decl.c (variable_decl): Allow default initializer in
2741 TYPE declarations in PURE functions.
2742
dba1636b 27432010-01-31 Janus Weil <janus@gcc.gnu.org>
2744
2745 PR fortran/42888
2746 * resolve.c (resolve_allocate_expr): Move default initialization code
2747 here from gfc_trans_allocate.
2748 * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
2749 EXEC_INIT_ASSIGN.
2750 * trans-expr.c (gfc_trans_class_assign): Handle default initialization
2751 of CLASS variables via memcpy.
2752 * trans-stmt.c (gfc_trans_allocate): Move default initialization code
2753 to resolve_allocate_expr.
2754
ffc91ac1 27552010-01-31 Paul Thomas <pault@gcc.gnu.org>
2756
b3a420c5 2757 PR fortran/38324
ffc91ac1 2758 * expr.c (gfc_get_full_arrayspec_from_expr): New function.
2759 * gfortran.h : Add prototype for above.
b3a420c5 2760 * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
ffc91ac1 2761 (gfc_trans_subcomponent_assign): Call new function to replace
2762 the code to deal with allocatable components.
2763 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
2764 gfc_get_full_arrayspec_from_expr to replace existing code.
2765
a93489b1 27662010-01-25 Tobias Burnus <burnus@net-b.de>
2767
2768 PR fortran/42858
2769 * array.c (gfc_array_dimen_size): Fix intrinsic procedure
2770 check.
2771
14c92e72 27722010-01-24 Paul Thomas <pault@gcc.gnu.org>
2773
2774 PR fortran/41044
2775 PR fortran/41167
2776 * expr.c (remove_subobject_ref): If the constructor is NULL use
2777 the expression as the source.
2778 (simplify_const_ref): Change the type of expression if
2779 there are component references. Allow for substring to be at
2780 the end of an arbitrarily long chain of references. If an
2781 element is found that is not in an EXPR_ARRAY, assume that this
2782 is scalar initialization of array. Call remove_subobject_ref in
2783 this case with NULL second argument.
2784
e4c32cf4 27852010-01-24 Tobias Burnus <burnus@net-b.de>
2786
2787 PR fortran/39304
2788 * array.c (gfc_array_dimen_size): Use correct specific
2789 function in the check.
2790
17658a1b 27912010-01-21 Paul Thomas <pault@gcc.gnu.org>
2792
2793 PR fortran/42736
2794 * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
2795 is required, turn any trailing array elements after a range
2796 into ranges so that offsets can be calculated.
2797
6436797c 27982010-01-20 Joern Rennecke <amylaar@spamcop.net>
2799
2800 * module.c (mio_f2k_derived): Use enumerator as initializer of
2801 enum variable.
2802
4fc5fe46 2803 PR bootstrap/42812
2804 * gfortran.h (struct gfc_namespace) <resolved>: Change to signed
2805 bitfield of width 2.
2806
aea8962c 28072010-01-19 Janus Weil <janus@gcc.gnu.org>
2808
2809 PR fortran/42804
2810 * resolve.c (extract_compcall_passed_object): Set locus for
2811 passed-object argument.
2812 (extract_ppc_passed_object): Set locus and correctly remove PPC
2813 reference.
2814
5fa0fdc2 28152010-01-19 Paul Thomas <pault@gcc.gnu.org>
2816
2817 PR fortran/42783
2818 * trans-decl.c (add_argument_checking): Do not use the backend
2819 decl directly to test for the presence of an optional dummy
2820 argument. Use gfc_conv_expr_present, remembering to set the
2821 symbol referenced.
2822
2823 PR fortran/42772
2824 * trans-decl.c (gfc_generate_function_code): Small white space
2825 changes. If 'recurcheckvar' is NULL do not try to reset it.
2826
1b4ad9da 28272010-01-19 Janus Weil <janus@gcc.gnu.org>
2828
2829 PR fortran/42545
2830 * resolve.c (resolve_fl_derived): Set the accessibility of the parent
2831 component for extended types.
2832 * symbol.c (gfc_find_component): Remove a wrongly-worded error message
2833 and take care of parent component accessibility.
2834
b4d11551 28352010-01-17 Janus Weil <janus@gcc.gnu.org>
2836
2837 PR fortran/42677
2838 * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
2839 * interface.c (check_interface1): Move a warning message here from
2840 resolve_fl_procedure.
2841 (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
2842 * module.c (read_module): Remove call to gfc_check_interfaces, since
2843 this comes too early here.
2844 * resolve.c (resolve_fl_procedure): Move warning message to
2845 check_interface1.
2846
ea315504 28472010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2848
2849 PR fortran/42684
2850 * interface.c (check_interface1): Pass symbol name rather than NULL to
2851 gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
2852 trap MULL.
2853 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
2854 than NULL to gfc_compare_interfaces.
2855
64a8f98f 28562010-01-14 Paul Thomas <pault@gcc.gnu.org>
2857
fb063c92 2858 PR fortran/41478
2859 * trans-array.c (duplicate_allocatable): Static version of
64a8f98f 2860 gfc_duplicate_allocatable with provision to handle scalar
2861 components. New boolean argument to switch off call to malloc
2862 if true.
2863 (gfc_duplicate_allocatable): New function to call above with
2864 new argument false.
2865 (gfc_copy_allocatable_data): New function to call above with
2866 new argument true.
2867 (structure_alloc_comps): Do not apply indirect reference to
2868 scalar pointers. Add new section to copy allocatable components
2869 of arrays. Extend copying of allocatable components to include
2870 scalars.
2871 (gfc_copy_only_alloc_comp): New function to copy allocatable
2872 component derived types, without allocating the base structure.
2873 * trans-array.h : Add primitive for gfc_copy_allocatable_data.
2874 Add primitive for gfc_copy_only_alloc_comp.
2875 * trans-expr.c (gfc_conv_procedure_call): After calls to
2876 transformational functions with results that are derived types
2877 with allocatable components, copy the components in the result.
2878 (gfc_trans_arrayfunc_assign): Deallocate allocatable components
2879 of lhs derived types before allocation.
2880
21bdb87e 28812010-01-14 Paul Thomas <pault@gcc.gnu.org>
2882
2883 PR fortran/42481
2884 * module.c (load_generic_interfaces): If a procedure that is
2885 use associated but not generic is given an interface that
2886 includes itself, then make it generic.
2887
fb063c92 28882010-01-11 Joseph Myers <joseph@codesourcery.com>
cf210371 2889 Shujing Zhao <pearly.zhao@oracle.com>
2890
2891 PR translation/42469
2892 * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
2893 finit-logical=, finit-real=, fmax-array-constructor=): Use tab
2894 character between option name and help text.
2895
c315461d 28962010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2897
2898 PR fortran/20923
2899 PR fortran/32489
2900 * trans-array.c (gfc_conv_array_initializer): Change call to
2901 gfc_error_now to call to gfc_fatal_error.
2902 * array.c (count_elements): Whitespace. (extract_element): Whitespace.
2903 (is_constant_element): Changed name from constant_element.
2904 (gfc_constant_ac): Only use expand_construuctor for expression
2905 types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
2906 call gfc_is_constant_expr.
2907 * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
2908 message.
2909 * resolve.c (gfc_is_expandable_expr): New function that determiners if
2910 array expressions should have their constructors expanded.
2911 (gfc_resolve_expr): Use new function to determine whether or not to call
2912 gfc_expand_constructor.
2913
650ee6fb 29142010-01-09 Tobias Burnus <burnus@net-b.de>
2915
2916 PR fortran/41298
2917 * trans-expr.c (gfc_trans_structure_assign): Handle
2918 c_null_(fun)ptr.
2919 * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
2920 to the constructor for c_null_(fun)ptr.
2921 * resolve.c (resolve_structure_cons): Add special case
2922 for c_null_(fun)ptr.
2923
60d645bb 29242010-01-09 Jakub Jelinek <jakub@redhat.com>
2925
2926 * gfortranspec.c (lang_specific_driver): Update copyright notice
2927 dates.
2928
29292010-01-08 Tobias Burnus <burnus@net-b.de>
738928be 2930
2931 PR/fortran 25829
2932 * symbol.c (check_conflict, gfc_copy_attr): Add
2933 ASYNCHRONOUS support.
2934 (gfc_add_asynchronous): New function.
2935 * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
2936 (gfc_match_asynchronous): New function.
2937 * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
2938 * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
2939 (gfc_add_asynchronous): New Prototype.
2940 * module.c (ab_attribute, mio_symbol_attribute): Add
2941 ASYNCHRONOUS support.
2942 * resolve.c (was_declared): Ditto.
2943 * match.h (gfc_match_asynchronous): New prototype.
2944 * parse.c (decode_specification_statement,decode_statement):
2945 Add ASYNCHRONOUS support.
2946
9c2eafdb 29472010-01-07 Tobias Burnus <burnus@net-b.de>
2948
2949 PR fortran/42597
2950 * trans-decl.c (get_proc_pointer_decl): Fix call to
2951 gfc_conv_initializer for array-valued proc-pointer funcs.
2952
908e9973 29532010-01-07 Tobias Burnus <burnus@net-b.de>
2954
2955 PR fortran/41872
2956 * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
2957 allocatable scalars with SAVE attribute.
2958
a7bdd774 29592010-01-05 Tobias Burnus <burnus@net-b.de>
2960
2961 PR fortran/42517
2962 * options.c (gfc_post_options): Set -frecursion
2963 when -fopenmp is used.
2964
c1de3106 29652010-01-05 Tobias Burnus <burnus@net-b.de>
2966
2967 PR fortran/41872
2968 * trans-expr.c (gfc_conv_procedure_call): Nullify
2969 return value for allocatable-scalar character functions.
2970
c915853f 29712010-01-04 Tobias Burnus <burnus@net-b.de>
2972
2973 PR fortran/36161
2974 * error.c (error_printf, gfc_warning, gfc_notify_std,
2975 gfc_warning_now, gfc_error, gfc_error_now,
2976 gfc_fatal_error): Change argument name from nocmsgid to
2977 gmsgid to enable (x)gettext's % checking.
2978
ea657963 29792010-01-04 Tobias Burnus <burnus@net-b.de>
2980
2981 * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
2982
53169279 29832010-01-04 Tobias Burnus <burnus@net-b.de>
2984
2985 PR fortran/41872
2986 * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
2987 for functions returning allocatable scalars.
2988 * trans-stmt.c (gfc_trans_allocate): Emmit error when
2989 reallocating an allocatable scalar.
2990 * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
2991 in comment.
2992 * trans-decl.c (gfc_trans_deferred_vars): Nullify local
2993 allocatable scalars.
2994 (gfc_generate_function_code): Nullify result variable for
2995 allocatable scalars.
2996
2997 PR fortran/40849
2998 * module.c (gfc_use_module): Fix warning string to allow
2999 for translation.
3000
3001 PR fortran/42517
3002 * invoke.texi (-fcheck=recursion): Mention that the checking
3003 is also disabled for -frecursive.
3004 * trans-decl.c (gfc_generate_function_code): Disable
3005 -fcheck=recursion when -frecursive is used.
3006
3007 * intrinsic.texi (iso_c_binding): Improve wording.
7dfbd804 3008
3009\f
50d268b3 3010Copyright (C) 2010 Free Software Foundation, Inc.
7dfbd804 3011
3012Copying and distribution of this file, with or without modification,
3013are permitted in any medium without royalty provided the copyright
3014notice and this notice are preserved.