1 2010-07-28 Joseph Myers <joseph@codesourcery.com>
3 * gfortranspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
6 2010-07-28 Tobias Burnus <burnus@net-b.de>
9 * trans-types.c (gfc_get_derived_type): Fix DT declaration
10 from modules for whole-file mode.
12 2010-07-27 Joseph Myers <joseph@codesourcery.com>
14 * gfortran.h (gfc_handle_option): Update prototype and return
16 * options.c (gfc_handle_option): Update prototype and return value
19 2010-07-27 Joseph Myers <joseph@codesourcery.com>
21 * cpp.c (gfc_cpp_init_options): Update prototype. Use number of
22 decoded options in allocating deferred_opt.
23 * cpp.h (gfc_cpp_init_options): Update prototype.
24 * f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
25 * gfortran.h (gfc_option_lang_mask): New.
26 (gfc_init_options): Update prototype.
27 * options.c (gfc_option_lang_mask): New.
28 (gfc_init_options): Update prototype. Pass new arguments to
31 2010-07-26 Tobias Burnus <burnus@net-b.de>
34 * trans-decl.c (gfc_get_extern_function_decl): Fix generation
35 for functions which are later in the same file.
36 (gfc_create_function_decl, build_function_decl,
37 build_entry_thunks): Add global argument.
38 * trans.c (gfc_generate_module_code): Update
39 gfc_create_function_decl call.
40 * trans.h (gfc_create_function_decl): Update prototype.
41 * resolve.c (resolve_global_procedure): Also resolve for
44 2010-07-26 Richard Henderson <rth@redhat.com>
47 * f95-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
48 (gfc_write_global_declarations): New.
50 2010-07-26 Tobias Burnus <burnus@net-b.de>
53 * trans-io.c (build_dt): Use NULL_TREE rather than NULL
54 for call to transfer_namelist_element.
55 * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
58 2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
61 * Make-lang.in: Add fortran/frontend-passes.o.
62 * gfortran.h: Add prototype for gfc_run_passes.
63 * resolve.c (gfc_resolve): Call gfc_run_passes.
64 * frontend-passes.c: New file.
66 2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
69 * scanner.c (gfc_next_char_literal): Enable truncation warning for
72 2010-07-25 Mikael Morin <mikael@gcc.gnu.org>
75 * gfortran.h (gfc_namespace): New field old_equiv.
76 (gfc_free_equiv_until): New prototype.
77 * match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
78 a parameterized stop condition.
79 (gfc_free_equiv): Use gfc_free_equiv_until.
80 * parse.c (next_statement): Save equivalence list.
81 (reject_statement): Restore equivalence list.
83 2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
86 * scanner.c (gfc_next_char_literal): Move check for truncation earlier
87 in the function so that it does not get missed by early exits.
88 (load_line): Add checks for quoted strings and free form comments to
89 disable warnings on comments. Add check for ampersand as first
90 character after truncation and don't warn for this case, but warn if
91 there are subsequent non-whitespace characters.
93 2010-07-24 Tobias Burnus <burnus@net-b.de>
96 * parse.c (gfc_parse_file): Do not override
97 gfc_global_ns_list items.
99 2010-07-24 Tobias Burnus <burnus@net-b.de>
101 * options.c (gfc_init_options): Enable -fwhole-file by default.
102 * interface.c (compare_parameter): Assume a Hollerith constant is
103 compatible with all other argument types.
105 2010-07-23 Tobias Burnus <burnus@net-b.de>
108 * trans-decl.c (gfc_get_symbol_decl): Use module decl with
109 -fwhole-file also for derived types.
110 * trans-types.c (copy_dt_decls_ifequal): Remove static and
111 rename to gfc_copy_dt_decls_ifequal.
112 (gfc_get_derived_type): Update call.
113 * trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype.
115 2010-07-23 Tobias Burnus <burnus@net-b.de>
118 * resolve.c (resolve_global_procedure): Properly handle ENTRY.
120 2010-07-23 Jakub Jelinek <jakub@redhat.com>
122 * trans-types.c (gfc_get_array_descriptor_base,
123 gfc_get_array_type_bounds): Set TYPE_NAMELESS.
124 * trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
125 instead of clearing DECL_NAME.
126 (gfc_build_dummy_array_decl): Set DECL_NAMELESS.
128 2009-07-23 Paul Thomas <pault@gcc.gnu.org>
131 * trans-array.c (gfc_init_loopinfo): Initialize the reverse
133 gfc_trans_scalarized_loop_end: If reverse set in dimension n,
134 reverse the scalarization loop.
135 gfc_conv_resolve_dependencies: Pass the reverse field of the
136 loopinfo to gfc_dep_resolver.
137 trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
138 assignment by resetting loop.reverse.
139 gfortran.h : Add the gfc_reverse enum.
140 trans.h : Add the reverse field to gfc_loopinfo.
141 dependency.c (gfc_check_dependency): Pass null to the new arg
143 (gfc_check_section_vs_section): Check for reverse dependencies.
144 (gfc_dep_resolver): Add reverse argument and deal with the loop
146 dependency.h : Modify prototype for gfc_dep_resolver to include
149 2010-07-23 Daniel Kraft <d@domob.eu>
152 * gfortran.h (gfc_find_symtree_in_proc): New method.
153 * symbol.c (gfc_find_symtree_in_proc): New method.
154 * match.c (match_exit_cycle): Look for loop name also in parent
155 namespaces within current procedure.
157 2010-07-22 Tobias Burnus <burnus@net-b.de>
160 * dependency.c (gfc_check_dependency): Add argument alising check.
161 * symbol.c (gfc_symbols_could_alias): Add argument alising check.
163 2010-07-22 Daniel Kraft <d@domob.eu>
165 * trans-stmt.c (gfc_trans_return): Put back in the handling of se.post,
166 now in the correct place.
168 2010-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
171 * Revert my commit r162325.
173 2010-07-21 Daniel Kraft <d@domob.eu>
175 * trans.h (gfc_get_return_label): Removed.
176 (gfc_generate_return): New method.
177 (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
178 returning a tree directly.
179 * trans-stmt.c (gfc_trans_return): Use `gfc_generate_return'.
180 (gfc_trans_block_construct): Update for new interface to
181 `gfc_trans_deferred_vars'.
182 * trans-decl.c (current_function_return_label): Removed.
183 (current_procedure_symbol): New variable.
184 (gfc_get_return_label): Removed.
185 (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
186 returning a tree directly.
187 (get_proc_result), (gfc_generate_return): New methods.
188 (gfc_generate_function_code): Clean up and do init/cleanup here
189 also with gfc_wrapped_block. Remove return-label but rather
192 2010-07-19 Steven G. Kargl <kargl@gcc.gnu.org>
195 * fortran/match.c (match_type_spec): Check for derived type before
198 2010-07-19 Paul Thomas <pault@gcc.gnu.org>
201 * interface.c (matching_typebound_op): Add argument for the
202 return of the generic name for the procedure.
203 (build_compcall_for_operator): Add an argument for the generic
204 name of an operator procedure and supply it to the expression.
205 (gfc_extend_expr, gfc_extend_assign): Use the generic name in
206 calls to the above procedures.
207 * resolve.c (resolve_typebound_function): Catch procedure
208 component calls for CLASS objects, check that the vtable is
209 complete and insert the $vptr and procedure components, to make
211 (resolve_typebound_function): The same.
212 * trans-decl.c (gfc_trans_deferred_vars): Do not deallocate
213 an allocatable scalar if it is a result.
215 2010-07-19 Paul Thomas <pault@gcc.gnu.org>
218 * match.c (gfc_match_iterator): Reverted.
220 2010-07-18 Paul Thomas <pault@gcc.gnu.org>
223 * match.c (gfc_match_iterator): Remove error that iterator
224 cannot be INTENT(IN).
226 2010-07-17 Mikael Morin <mikael@gcc.gnu.org>
228 * trans-array.c (gfc_free_ss): Don't free beyond ss rank.
229 Access subscript through the "dim" field index.
230 (gfc_trans_create_temp_array): Access ss info through the "dim" field
232 (gfc_conv_array_index_offset): Ditto.
233 (gfc_conv_loop_setup): Ditto.
234 (gfc_conv_expr_descriptor): Ditto.
235 (gfc_conv_ss_startstride): Ditto. Update call to
236 gfc_conv_section_startstride.
237 (gfc_conv_section_startstride): Set values along the array dimension.
238 Get array dimension directly from the argument.
240 2010-07-15 Jakub Jelinek <jakub@redhat.com>
242 * trans.h (gfc_string_to_single_character): New prototype.
243 * trans-expr.c (string_to_single_character): Renamed to ...
244 (gfc_string_to_single_character): ... this. No longer static.
245 (gfc_conv_scalar_char_value, gfc_build_compare_string,
246 gfc_trans_string_copy): Adjust callers.
247 * config-lang.in (gtfiles): Add fortran/trans-stmt.c.
248 * trans-stmt.c: Include ggc.h and gt-fortran-trans-stmt.h.
249 (select_struct): Move to toplevel, add GTY(()).
250 (gfc_trans_character_select): Optimize SELECT CASE
251 with character length 1.
253 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
255 * f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
256 * trans-common.c: Likewise.
257 * trans-decl.c: Likewise.
258 * trans-types.c: Likewise.
261 2010-07-15 Janus Weil <janus@gcc.gnu.org>
264 * resolve.c (resolve_typebound_generic_call): Resolve generic
265 non-polymorphic type-bound procedure calls to the correct specific
267 (resolve_typebound_subroutine): Remove superfluous code.
269 2010-07-15 Daniel Kraft <d@domob.eu>
272 * trans.h (struct gfc_wrapped_block): New struct.
273 (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
274 (gfc_finish_wrapped_block): New method.
275 (gfc_init_default_dt): Add new init code to block rather than
277 * trans-array.h (gfc_trans_auto_array_allocation): Use gfc_wrapped_block
278 (gfc_trans_dummy_array_bias): Ditto.
279 (gfc_trans_g77_array): Ditto.
280 (gfc_trans_deferred_array): Ditto.
281 * trans.c (gfc_add_expr_to_block): Call add_expr_to_chain.
282 (add_expr_to_chain): New method based on old gfc_add_expr_to_block.
283 (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
284 (gfc_finish_wrapped_block): New method.
285 * trans-array.c (gfc_trans_auto_array_allocation): use gfc_wrapped_block
286 (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
287 (gfc_trans_deferred_array): Ditto.
288 * trans-decl.c (gfc_trans_dummy_character): Ditto.
289 (gfc_trans_auto_character_variable), (gfc_trans_assign_aux_var): Ditto.
290 (init_intent_out_dt): Ditto.
291 (gfc_init_default_dt): Add new init code to block rather than
293 (gfc_trans_deferred_vars): Use gfc_wrapped_block to collect all init
294 and cleanup code and put it all together.
296 2010-07-15 Jakub Jelinek <jakub@redhat.com>
298 * trans.h (gfc_build_compare_string): Add CODE argument.
299 * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Pass OP to
300 gfc_build_compare_string.
301 * trans-expr.c (gfc_conv_expr_op): Pass CODE to
302 gfc_build_compare_string.
303 (string_to_single_character): Rename len variable to length.
304 (gfc_optimize_len_trim): New function.
305 (gfc_build_compare_string): Add CODE argument. If it is EQ_EXPR
306 or NE_EXPR and one of the strings is string literal with LEN_TRIM
307 bigger than the length of the other string, they compare unequal.
310 * trans-stmt.c (gfc_trans_character_select): Always use NULL for high
311 in CASE_LABEL_EXPR and use NULL for low for the default case.
313 2010-07-14 Mikael Morin <mikael@gcc.gnu.org>
315 * trans-array.c (gfc_conv_section_upper_bound): Remove
316 (gfc_conv_section_startstride): Don't set the upper bound in the
317 vector subscript case.
318 (gfc_conv_loop_setup): Don't use gfc_conv_section_upper_bound
320 2010-07-14 Janus Weil <janus@gcc.gnu.org>
323 * gfortran.h (gfc_is_data_pointer): Remove prototype.
324 * dependency.c (gfc_is_data_pointer): Make it static.
325 * intrinsic.texi: Update documentation on C_LOC.
326 * resolve.c (gfc_iso_c_func_interface): Fix pointer and target checks
327 and add a check for polymorphic variables.
329 2010-07-14 Jakub Jelinek <jakub@redhat.com>
331 * trans-expr.c (string_to_single_character): Also optimize
332 string literals containing a single char followed only by spaces.
333 (gfc_trans_string_copy): Remove redundant string_to_single_character
336 * trans-decl.c (gfc_build_intrinsic_function_decls,
337 gfc_build_builtin_function_decls): Mark functions as
338 DECL_PURE_P or TREE_READONLY.
340 2010-07-13 Nathan Froyd <froydnj@codesourcery.com>
342 * trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
343 instead of build_function_call_expr.
344 * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
346 2010-07-13 Tobias Burnus <burnus@net-b.de>
347 Daniel Franke <franke.daniel@gmail.com>
350 * trans.h (gfc_build_library_function_decl_with_spec): New prototype.
351 * trans-decl.c (gfc_build_library_function_decl_with_spec): Removed
353 * trans-io (gfc_build_io_library_fndecls): Add "fn spec" annotations.
355 2010-07-13 Daniel Franke <franke.daniel@gmail.com>
356 Tobias Burnus <burnus@net-b.de>
359 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
360 noclobber/noescape annotations to function calls.
361 (gfc_build_builtin_function_decls): Likewise.
363 2010-07-13 Janus Weil <janus@gcc.gnu.org>
369 * gfortran.h (gfc_find_derived_vtab): Modified prototype.
370 * class.c (gfc_build_class_symbol): Modified call to
371 'gfc_find_derived_vtab'.
372 (add_proc_component): Removed, moved code into 'add_proc_comp'.
373 (add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
375 (add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
376 Removed treatment of generics.
377 (copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
378 Call 'add_proc_comp' instead of duplicating code.
379 (add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
381 (add_generic_specifics,add_generics_to_declared_vtab): Removed.
382 (gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
383 Removed treatment of generics.
384 * iresolve.c (gfc_resolve_extends_type_of): Modified call to
385 'gfc_find_derived_vtab'.
386 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
387 Removed treatment of generics.
388 (resolve_select_type,resolve_fl_derived): Modified call to
389 'gfc_find_derived_vtab'.
390 * trans-decl.c (gfc_get_symbol_decl): Ditto.
391 * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
393 * trans-stmt.c (gfc_trans_allocate): Ditto.
395 2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
398 * trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
401 2010-07-12 Mikael Morin <mikael@gcc.gnu.org>
403 * expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
404 * resolve.c (build_default_init_expr): Ditto.
406 2010-07-11 Tobias Burnus <burnus@net-b.de>
409 * module.c (sort_iso_c_rename_list): Remove.
410 (import_iso_c_binding_module,use_iso_fortran_env_module):
411 Allow multiple imports of the same symbol.
413 2010-07-11 Mikael Morin <mikael@gcc.gnu.org>
415 * arith.c (gfc_arith_done_1): Release mpfr internal caches.
417 2010-07-11 Janus Weil <janus@gcc.gnu.org>
420 * decl.c (build_sym,attr_decl1): Only build the class container if the
421 symbol has sufficient attributes.
422 * expr.c (gfc_check_pointer_assign): Use class_pointer instead of
423 pointer attribute for classes.
424 * match.c (gfc_match_allocate,gfc_match_deallocate): Ditto.
425 * module.c (MOD_VERSION): Bump.
426 (enum ab_attribute,attr_bits): Add AB_CLASS_POINTER.
427 (mio_symbol_attribute): Handle class_pointer attribute.
428 * parse.c (parse_derived): Use class_pointer instead of pointer
429 attribute for classes.
430 * primary.c (gfc_variable_attr,gfc_expr_attr): Ditto.
431 * resolve.c (resolve_structure_cons,resolve_deallocate_expr,
432 resolve_allocate_expr,resolve_fl_derived): Ditto.
433 (resolve_fl_var_and_proc): Check for class_ok attribute.
435 2010-07-10 Mikael Morin <mikael@gcc.gnu.org>
437 * trans-io.c (gfc_build_st_parameter): Update calls to
438 gfc_add_field_to_struct.
439 * trans-stmt.c (ADD_FIELD): Ditto.
441 (gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
443 (gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
444 fieldlist, remove fieldlist from argument list.
445 (gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
446 and remove fieldlist from argument list.
447 (gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
448 gfc_get_mixed_entry_union): Move setting
449 TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
450 * trans-types.h (gfc_add_field_to_struct): Update prototype.
452 2010-07-10 Paul Thomas <pault@gcc.gnu.org>
455 * trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
456 if the lhs has never been host associated, as well as not being
457 use associated, a pointer or a target.
458 * resolve.c (resolve_variable): Mark variables that are host
460 * gfortran.h: Add the host_assoc bit to the symbol_attribute
463 2010-07-09 Janus Weil <janus@gcc.gnu.org>
465 * intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
466 STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
469 2010-07-08 Janus Weil <janus@gcc.gnu.org>
472 * gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
473 * intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
474 gfc_resolve_storage_size): New prototypes.
475 * check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
476 * intrinsic.c (add_functions): Add STORAGE_SIZE.
477 * iresolve.c (gfc_resolve_storage_size): New function.
478 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
480 (gfc_conv_intrinsic_storage_size): New function.
481 (gfc_conv_intrinsic_function): Handle STORAGE_SIZE.
483 2010-07-08 Jakub Jelinek <jakub@redhat.com>
486 * match.c (match_exit_cycle): Error on EXIT also from collapsed
487 !$omp do loops. Error on CYCLE to non-innermost collapsed
490 2010-07-08 Tobias Burnus <burnus@net-b.de>
493 * array.c (gfc_match_array_ref): Better error message for
494 coarrays with too few ranks.
495 (match_subscript): Move one diagnostic to caller.
496 * gfortran.h (gfc_get_corank): Add prottype.
497 * expr.c (gfc_get_corank): New function.
498 * iresolve.c (resolve_bound): Fix rank for cobounds.
499 (gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
500 gfc_resolve_ucobound, gfc_resolve_this_image): Update
503 2010-07-06 Tobias Burnus <burnus@net-b.de>
506 * array.c (gfc_expand_constructor): Add optional diagnostic.
507 * gfortran.h (gfc_expand_constructor): Update prototype.
508 * expr.c (gfc_simplify_expr, check_init_expr,
509 gfc_reduce_init_expr): Update gfc_expand_constructor call.
510 * resolve.c (gfc_resolve_expr): Ditto.
512 2010-07-06 Tobias Burnus <burnus@net-b.de>
514 * trans-decl.c: Include diagnostic-core.h besides toplev.h.
515 * trans-intrinsic.c: Ditto.
516 * trans-types.c: Ditto.
517 * convert.c: Include diagnostic-core.h instead of toplev.h.
519 * trans-array.c: Ditto.
520 * trans-const.c: Ditto.
521 * trans-expr.c: Ditto.
523 * trans-openmp.c: Ditto.
526 2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
529 * check.c (dim_rank_check): Also check intrinsic functions.
530 Adjust permissible rank for functions which reduce the rank of
531 their argument. Spread is an exception, where DIM can
532 be one larger than the rank of array.
534 2010-07-05 Steven G. Kargl <kargl@gcc.gnu.org>
537 * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
539 2010-07-05 Paul Thomas <pault@gcc.gnu.org>
542 * trans-types.c (gfc_get_derived_type): Derived type fields
543 with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
544 but build_pointer_type_for_mode must be used for this.
546 2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
548 * trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
549 * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
550 type of gfc_conv_procedure_call.
551 (conv_generic_with_optional_char_arg): Likewise.
552 * trans-stmt.c (gfc_trans_call): Likewise.
553 * trans-expr.c (gfc_conv_function_expr): Likewise.
554 (gfc_conv_procedure_call): Use build_call_vec instead of
557 2010-07-04 Daniel Kraft <d@domob.eu>
559 * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
561 2010-07-04 Paul Thomas <pault@gcc.gnu.org>
565 * trans-types.c (gfc_get_derived_type): Derived type fields
566 with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.
568 2010-07-02 Mikael Morin <mikael@gcc.gnu.org>
571 * decl.c (match_procedure_in_type): Clear structure before using.
572 (gfc_match_generic): Ditto.
574 2010-07-02 Nathan Froyd <froydnj@codesourcery.com>
576 * trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
577 * trans-types.c (gfc_add_field_to_struct_1): New function, most
578 of which comes from...
579 (gfc_add_field_to_struct): ...here. Call it. Add new parameter.
580 (gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
582 (gfc_get_array_descriptor_base): Likewise.
583 (gfc_get_mixed_entry_union): Likewise.
584 (gfc_get_derived_type): Add extra chain parameter for
585 gfc_add_field_to_struct.
586 * trans-stmt.c (gfc_trans_character_select): Likewise.
587 * trans-io.c (gfc_build_st_parameter): Likewise.
589 2010-06-29 Janus Weil <janus@gcc.gnu.org>
592 * resolve.c (is_external_proc): Prevent procedure pointers from being
593 regarded as external procedures.
595 2010-06-29 Janus Weil <janus@gcc.gnu.org>
598 * trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
599 passed as second argument of ASSOCIATED.
601 2010-06-29 Paul Thomas <pault@gcc.gnu.org>
604 * trans-expr.c (arrayfunc_assign_needs_temporary): New function
605 to determine if a function assignment can be made without a
607 (gfc_trans_arrayfunc_assign): Move all the conditions that
608 suppress the direct function call to the above new functon and
611 2010-06-28 Paul Thomas <pault@gcc.gnu.org>
614 * interface.c (argument_rank_mismatch): New function.
615 (compare_parameter): Call new function instead of generating
618 2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
620 * trans-openmp.c (dovar_init): Define. Define VECs containing it.
621 (gfc_trans_omp_do): Use a VEC to accumulate variables and their
624 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
626 * Make-lang.in: Update dependencies.
628 2010-06-27 Nathan Froyd <froydnj@codesourcery.com>
630 * gfortran.h (gfc_code): Split backend_decl field into cycle_label
631 and exit_label fields.
632 * trans-openmp.c (gfc_trans_omp_do): Assign to new fields
634 * trans-stmt.c (gfc_trans_simple_do): Likewise.
635 (gfc_trans_do): Likewise.
636 (gfc_trans_do_while): Likewise.
637 (gfc_trans_cycle): Use cycle_label directly.
638 (gfc_trans_exit): Use exit_label directly.
640 2010-06-27 Daniel Kraft <d@domob.eu>
642 * dump-parse-tree.c (show_symbol): Dump target-expression for
644 (show_code_node): Make distinction between BLOCK and ASSOCIATE.
645 (show_namespace): Use show_level for correct indentation of
646 "inner namespaces" (contained procedures or BLOCK).
648 2010-06-27 Thomas Koenig <tkoenig@gcc.gnu.org>
651 * dump-parse-tree.c (show_code_node): Show namespace for
654 2010-06-26 Tobias Burnus <burnus@net-b.de>
656 * decl.c (gfc_match_decl_type_spec): Support
657 TYPE(intrinsic-type-spec).
659 2010-06-25 Tobias Burnus <burnus@net-b.de>
661 * intrinsic.h (gfc_check_selected_real_kind,
662 gfc_simplify_selected_real_kind): Update prototypes.
663 * intrinsic.c (add_functions): Add radix support to
665 * check.c (gfc_check_selected_real_kind): Ditto.
666 * simplify.c (gfc_simplify_selected_real_kind): Ditto.
667 * trans-decl.c (gfc_build_intrinsic_function_decls):
668 Change call from selected_real_kind to selected_real_kind2008.
669 * intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
670 (PRECISION, RANGE, RADIX): Add cross @refs.
672 2010-06-25 Tobias Burnus <burnus@net-b.de>
674 * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
675 * gfortran.texi (_gfortran_set_options): Update for
676 GFC_STD_F2008_OBS addition.
677 * libgfortran.h: Add GFC_STD_F2008_OBS.
678 * options.c (set_default_std_flags, gfc_handle_option): Handle
680 io.c (check_format): Fix allow_std check.
682 2010-06-25 Tobias Burnus <burnus@net-b.de>
684 * decl.c (gfc_match_entry): Allow END besides
685 END SUBROUTINE/END FUNCTION for contained procedures.
687 2010-06-25 Tobias Burnus <burnus@net-b.de>
689 * parse.c (next_free, next_fixed): Allow ";" as first character.
691 2010-06-24 Tobias Burnus <burnus@net-b.de>
694 * decl.c (variable_decl): Fix IMPORT diagnostic for CLASS.
696 2010-06-22 Janus Weil <janus@gcc.gnu.org>
699 * resolve.c (resolve_fl_derived): Avoid checking for abstract on class
702 2010-06-21 Tobias Burnus <burnus@net-b.de>
705 * interface.c (compare_parameter): Add gfc_is_simply_contiguous
707 * symbol.c (gfc_add_contiguous): New function.
708 (gfc_copy_attr, check_conflict): Handle contiguous attribute.
709 * decl.c (match_attr_spec): Ditto.
710 (gfc_match_contiguous): New function.
711 * resolve.c (resolve_fl_derived, resolve_symbol): Handle
713 * gfortran.h (symbol_attribute): Add contiguous.
714 (gfc_is_simply_contiguous): Add prototype.
715 (gfc_add_contiguous): Add prototype.
716 * match.h (gfc_match_contiguous): Add prototype.
717 * parse.c (decode_specification_statement,
718 decode_statement): Handle contiguous attribute.
719 * expr.c (gfc_is_simply_contiguous): New function.
720 * dump-parse-tree.c (show_attr): Handle contiguous.
721 * module.c (ab_attribute, attr_bits, mio_symbol_attribute):
723 * trans-expr.c (gfc_add_interface_mapping): Copy
725 * trans-array.c (gfc_conv_descriptor_stride_get,
726 gfc_conv_array_parameter): Handle contiguous arrays.
727 * trans-types.c (gfc_build_array_type, gfc_build_array_type,
728 gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info):
730 * trans.h (gfc_array_kind): Ditto.
731 * trans-decl.c (gfc_get_symbol_decl): Ditto.
733 2010-06-20 Joseph Myers <joseph@codesourcery.com>
735 * options.c (gfc_handle_option): Don't handle N_OPTS.
737 2010-06-19 Janus Weil <janus@gcc.gnu.org>
740 * resolve.c (resolve_fl_derived): Reverse ordering of conditions
743 2010-06-18 Tobias Burnus <burnus@net-b.de>
746 * resolve.c (resolve_allocate_deallocate): Properly check
747 part-refs in stat=/errmsg= for invalid use.
749 2010-06-17 Janus Weil <janus@gcc.gnu.org>
752 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
753 Return directly in case of an error.
755 2010-06-16 Janus Weil <janus@gcc.gnu.org>
758 * gfortran.h (gfc_get_typebound_proc): Modified Prototype.
759 * decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc
760 structure to each procedure in a procedure list.
761 * module.c (mio_typebound_proc): Add NULL argument to
762 'gfc_get_typebound_proc'.
763 * symbol.c (gfc_get_typebound_proc): Add a new argument, which is used
764 to initialize the new structure.
766 2010-06-15 Janus Weil <janus@gcc.gnu.org>
769 * gfortran.h (gfc_expr): Add new member 'mold'.
770 * match.c (gfc_match_allocate): Implement the MOLD tag.
771 * resolve.c (resolve_allocate_expr): Ditto.
772 * trans-stmt.c (gfc_trans_allocate): Ditto.
774 2010-06-15 Jakub Jelinek <jakub@redhat.com>
777 * trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
778 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
779 GFC_DECL_SAVED_DESCRIPTOR set.
780 (gfc_omp_report_decl): New function.
781 * trans.h (gfc_omp_report_decl): New prototype.
782 * f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
784 2010-06-13 Daniel Franke <franke.daniel@gmail.com>
788 * gfortranspec.c (lang_specific_driver): Removed deprecation
790 * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
791 * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
792 * cpp.h (gfc_cpp_makedep): New.
793 (gfc_cpp_add_dep): New.
794 (gfc_cpp_add_target): New.
795 * cpp.c (gfc_cpp_option): Add deps* members.
796 (gfc_cpp_makedep): New.
797 (gfc_cpp_add_dep): New.
798 (gfc_cpp_add_target): New.
799 (gfc_cpp_init_options): Initialize new options.
800 (gfc_cpp_handle_option): Handle new options.
801 (gfc_cpp_post_options): Map new options to libcpp-options.
802 (gfc_cpp_init): Handle deferred -MQ and -MT options.
803 (gfc_cpp_done): If requested, write dependencies to file.
804 * module.c (gfc_dump_module): Add a module filename as target.
805 * scanner.c (open_included_file): New parameter system; add the
806 included file as dependency.
807 (gfc_open_included_file): Add the included file as dependency.
808 (gfc_open_intrinsic_module): Likewise.
809 * invoke.texi: Removed deprecation warning for -M.
810 * gfortran.texi: Removed Makefile-dependencies project.
812 2010-06-12 Daniel Franke <franke.daniel@gmail.com>
814 * resolve.c (resolve_global_procedure): Improved checking if an
815 explicit interface is required.
817 2010-06-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
819 * trans-decl.c (gfc_build_intrinsic_function_decls): Fix
821 * trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type.
822 (gfc_conv_intrinsic_ttynam): Likewise.
823 (gfc_conv_intrinsic_trim): Likewise.
825 2010-06-12 Janus Weil <janus@gcc.gnu.org>
828 * decl.c (match_procedure_in_type): Allow procedure lists (F08).
830 2010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
832 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.
834 2010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
836 * mathbuiltins.def: Add builtins that do not directly correspond
837 to a Fortran intrinsic, with new macro OTHER_BUILTIN.
838 * f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN.
839 * trans-intrinsic.c (gfc_intrinsic_map_t): Remove
840 code_{r,c}{4,8,10,16} fields. Add
841 {,complex}{float,double,long_double}_built_in fields.
842 (gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN,
843 DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add
844 definition of OTHER_BUILTIN.
845 (real_compnt_info): Remove unused struct.
846 (builtin_decl_for_precision, builtin_decl_for_float_kind): New
848 (build_round_expr): Call builtin_decl_for_precision instead of
850 (gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind
852 (gfc_build_intrinsic_lib_fndecls): Match
853 {real,complex}{4,8,10,16}decl into the C-style built_in_decls.
854 (gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point
856 (gfc_conv_intrinsic_lib_function): Go through all the extended
858 (gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind
860 (gfc_conv_intrinsic_abs): Likewise.
861 (gfc_conv_intrinsic_mod): Likewise.
862 (gfc_conv_intrinsic_sign): Likewise.
863 (gfc_conv_intrinsic_fraction): Likewise.
864 (gfc_conv_intrinsic_nearest): Likewise.
865 (gfc_conv_intrinsic_spacing): Likewise.
866 (gfc_conv_intrinsic_rrspacing): Likewise.
867 (gfc_conv_intrinsic_scale): Likewise.
868 (gfc_conv_intrinsic_set_exponent): Likewise.
870 2010-06-11 Paul Thomas <pault@gcc.gnu.org>
874 * trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
875 functions with CLASS formal arguments.
877 2010-06-10 Janus Weil <janus@gcc.gnu.org>
880 * resolve.c (conformable_arrays): Handle allocatable components.
882 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
885 * gfortran.texi: Document that Cray pointers cannot be function
888 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
891 * gfortran.texi: Document lack of support for syntax
892 "complex FUNCTION name*16()", and existence of alternative
893 legacy syntax "complex*16 FUNCTION name()".
895 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
898 * intrinsic.texi (FLUSH): Note the difference between FLUSH and
899 POSIX's fsync(), and how to call the latter from Fortran code.
901 2010-06-10 Daniel Franke <franke.daniel@gmail.com>
904 * interface.c (compare_actual_formal): Reject actual arguments with
905 array subscript passed to ASYNCHRONOUS dummys.
907 2010-06-10 Daniel Kraft <d@domob.eu>
910 * gfortran.h (enum gfc_statement): Add ST_ASSOCIATE, ST_END_ASSOCIATE.
911 (struct gfc_symbol): New field `assoc'.
912 (struct gfc_association_list): New struct.
913 (struct gfc_code): New struct `block' in union, move `ns' there
914 and add association list.
915 (gfc_free_association_list): New method.
916 (gfc_has_vector_subscript): Made public;
917 * match.h (gfc_match_associate): New method.
918 * parse.h (enum gfc_compile_state): Add COMP_ASSOCIATE.
919 * decl.c (gfc_match_end): Handle ST_END_ASSOCIATE.
920 * interface.c (gfc_has_vector_subscript): Made public.
921 (compare_actual_formal): Rename `has_vector_subscript' accordingly.
922 * match.c (gfc_match_associate): New method.
923 (gfc_match_select_type): Change reference to gfc_code's `ns' field.
924 * primary.c (match_variable): Don't allow names associated to expr here.
925 * parse.c (decode_statement): Try matching ASSOCIATE statement.
926 (case_exec_markers, case_end): Add ASSOCIATE statement.
927 (gfc_ascii_statement): Hande ST_ASSOCIATE and ST_END_ASSOCIATE.
928 (parse_associate): New method.
929 (parse_executable): Handle ST_ASSOCIATE.
930 (parse_block_construct): Change reference to gfc_code's `ns' field.
931 * resolve.c (resolve_select_type): Ditto.
932 (resolve_code): Ditto.
933 (resolve_block_construct): Ditto and add comment.
934 (resolve_select_type): Set association list in generated BLOCK to NULL.
935 (resolve_symbol): Resolve associate names.
936 * st.c (gfc_free_statement): Change reference to gfc_code's `ns' field
937 and free association list.
938 (gfc_free_association_list): New method.
939 * symbol.c (gfc_new_symbol): NULL new field `assoc'.
940 * trans-stmt.c (gfc_trans_block_construct): Change reference to
941 gfc_code's `ns' field.
943 2010-06-10 Kai Tietz <kai.tietz@onevision.com>
945 * error.c (error_print): Pre-initialize loc by NULL.
946 * openmp.c (resolve_omp_clauses): Add explicit
947 braces to avoid ambigous else.
948 * array.c (match_subscript): Pre-initialize m to MATCH_ERROR.
950 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
952 * gfc-internals.texi: Move to GFDL 1.3.
953 * gfortran.texi: Ditto.
954 * intrinsic.texi: Ditto.
955 * invoke.texi: Ditto.
957 2010-06-09 Daniel Franke <franke.daniel@gmail.com>
960 * check.c (gfc_check_selected_real_kind): Verify that the
961 actual arguments are scalar.
963 2010-06-09 Daniel Franke <franke.daniel@gmail.com>
966 * intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.
968 2010-06-09 Janus Weil <janus@gcc.gnu.org>
971 * dump-parse-tree.c (show_symbol): Avoid infinite loop.
973 2010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
975 * fortran/symbol.c (check_conflict): Remove an invalid conflict check.
977 2010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
979 * fortran/intrinsic.c (add_functions): Change gfc_check_btest,
980 gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
981 * fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
982 gfc_check_ibclr, and gfc_check_ibset. Add prototype for
984 * fortran/check.c (nonnegative_check, less_than_bitsize1,
985 less_than_bitsize2): New functions.
986 (gfc_check_btest): Renamed to gfc_check_bitfcn. Use
987 nonnegative_check and less_than_bitsize1.
988 (gfc_check_ibclr, gfc_check_ibset): Removed.
989 (gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
992 2010-06-09 Janus Weil <janus@gcc.gnu.org>
995 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
998 2010-06-09 Kai Tietz <kai.tietz@onevision.com>
1000 * resolve.c (resolve_deallocate_expr): Avoid warning
1001 about possible use of iunitialized sym.
1002 (resolve_allocate_expr): Pre-initialize sym by NULL.
1004 2010-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1007 * f95-lang.c (gfc_init_builtin_functions): Remove comment.
1009 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1011 * trans-types.c (gfc_get_nodesc_array_type): Use typed GC
1013 (gfc_get_array_type_bounds): Likewise.
1015 * trans-decl.c (gfc_allocate_lang_decl): Likewise.
1016 (gfc_find_module): Likewise.
1018 * f95-lang.c (pushlevel): Likewise.
1020 * trans.h (struct lang_type): Add variable_size GTY option.
1021 (struct lang_decl): Likewise.
1023 2010-06-08 Tobias Burnus <burnus@net-b.de>
1026 * symbol.c (check_conflict): Move protected--external/procedure check ...
1027 * resolve.c (resolve_select_type): ... to the resolution stage.
1029 2010-06-07 Tobias Burnus <burnus@net-b.de>
1031 * options.c (gfc_handle_option): Fix -fno-recursive.
1033 2010-06-07 Tobias Burnus <burnus@net-b.de>
1035 * gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
1036 * gfortran.texi (copyrights-gfortran): Ditto.
1038 2010-06-07 Joseph Myers <joseph@codesourcery.com>
1040 * lang.opt (fshort-enums): Define using Var and VarExists.
1041 * options.c (gfc_handle_option): Don't set flag_short_enums here.
1043 2010-06-05 Paul Thomas <pault@gcc.gnu.org>
1044 Janus Weil <janus@gcc.gnu.org>
1047 * resolve.c (get_declared_from_expr): Move to before
1048 resolve_typebound_generic_call. Make new_ref and class_ref
1049 ignorable if set to NULL.
1050 (resolve_typebound_generic_call): Once we have resolved the
1051 generic call, check that the specific instance is that which
1052 is bound to the declared type.
1053 (resolve_typebound_function,resolve_typebound_subroutine): Avoid
1054 freeing 'class_ref->next' twice.
1056 2010-06-05 Paul Thomas <pault@gcc.gnu.org>
1059 * trans-array.c (structure_alloc_comps): Dereference scalar
1060 'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
1063 2010-06-04 Joseph Myers <joseph@codesourcery.com>
1065 * gfortranspec.c (append_arg, lang_specific_driver): Use
1066 GCC-specific formats in diagnostics.
1068 2010-06-02 Tobias Burnus <burnus@net-b.de>
1071 * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
1074 2010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1077 * match.c (gfc_match_stopcode): Move gfc_match_eos call inside
1080 2010-05-31 Steven G. Kargl <kargl@gcc.gnu.org>
1082 * fortran/gfortran.texi: Fix typos in description of variable-format-
1085 2010-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1088 * dependency.c (gfc_check_section_vs_section): Check
1089 for interleaving array assignments without conflicts.
1091 2010-05-30 Janus Weil <janus@gcc.gnu.org>
1093 * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
1094 $data component of a class container.
1095 * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
1096 * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
1097 gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
1098 * gcc/fortran/interface.c (matching_typebound_op): Ditto.
1099 * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
1100 * gcc/fortran/parse.c (parse_derived): Ditto.
1101 * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
1102 gfc_expr_attr): Ditto.
1103 * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
1104 resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
1105 resolve_fl_var_and_proc, resolve_typebound_procedure,
1106 resolve_fl_derived): Ditto.
1107 * gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
1108 * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
1110 * gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
1111 gfc_trans_deferred_vars): Ditto.
1112 * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
1114 2010-05-28 Tobias Burnus <burnus@net-b.de>
1116 * options.c (gfc_handle_option): Fix handling of -fno-whole-file.
1118 2010-05-28 Joseph Myers <joseph@codesourcery.com>
1120 * gfortranspec.c (append_arg, lang_specific_driver): Use
1121 fatal_error instead of fatal. Use warning instead of fprintf for
1124 2010-05-28 Joseph Myers <joseph@codesourcery.com>
1126 * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror.
1127 * module.c (write_char, gfc_dump_module, gfc_use_module): Use
1128 xstrerror instead of strerror.
1130 2010-05-26 Joseph Myers <joseph@codesourcery.com>
1132 * cpp.c (cb_cpp_error): Save and restore
1133 global_dc->warn_system_headers, not variable warn_system_headers.
1135 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1137 * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
1139 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1141 * trans-common.c: Do not include rtl.h, include output.h instead.
1142 * trans-decl.c: Likewise.
1144 2010-05-26 Paul Thomas <pault@gcc.gnu.org>
1147 * resolve.c (resolve_global_procedure): Resolve the gsymbol's
1148 namespace before trying to reorder the gsymbols.
1150 2010-05-25 Daniel Franke <franke.daniel@gmail.com>
1155 * resolve.c (resolve_global_procedure): Add check for global
1156 procedures with implicit interfaces and assumed-shape or optional
1157 dummy arguments. Verify that function return type, kind and string
1160 2010-05-21 Tobias Burnus <burnus@net-b.de>
1162 * gfortran.h: Do not include system.h.
1163 * bbt.c: Include system.h.
1165 * dependency.c: Ditto.
1166 * dump-parse-tree.c: Ditto.
1167 * arith.h: Do not include gfortran.h.
1168 * constructor.h: Do not include gfortran.h and splay-tree.h.
1169 * match.h: Do not include gfortran.h.
1171 * target-memory.h: Ditto.
1172 * openmp.c: Do not include toplev.h and target.h.
1173 * trans-stmt.c: Ditto not include toplev.h.
1175 * trans-common.c: Tell why toplev.h is needed. And
1176 do not include target.h.
1177 * trans-expr.c: Tell why toplev.h is needed.
1178 * trans-array.c: Ditto.
1179 * trans-openmp.c: Ditto.
1180 * trans-const.c: Ditto.
1182 * trans-types.c: Ditto.
1183 * trans-io.c: Ditto.
1184 * trans-decl.c: Ditto.
1187 * trans-intrinsic.c: Ditto.
1190 2010-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1193 * match.c (gfc_match_stopcode): Use gfc_match_init_expr. Go to cleanup
1194 before returning MATCH_ERROR. Add check for scalar. Add check for
1195 default integer kind.
1197 2010-05-22 Janus Weil <janus@gcc.gnu.org>
1200 * match.c (gfc_match_select_type): On error jump back out of the local
1202 * parse.c (parse_derived): Defer creation of vtab symbols to resolution
1203 stage, more precisely to ...
1204 * resolve.c (resolve_fl_derived): ... this place.
1206 2010-05-22 Janus Weil <janus@gcc.gnu.org>
1209 * resolve.c (ensure_not_abstract): Allow abstract types with
1210 non-abstract ancestors.
1212 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1214 * trans-const.c: Include realmpfr.h.
1215 * Make-lang.in: Update dependencies.
1217 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1219 * trans-const.c, trans-types.c, trans-intrinsic.c:
1220 Clean up redundant includes.
1222 2010-05-20 Daniel Franke <franke.daniel@gmail.com>
1225 * lang.opt (Wunused-dummy-argument): New option.
1226 * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument.
1227 * options.c (gfc_init_options): Disable warn_unused_dummy_argument.
1228 (set_Wall): Enable warn_unused_dummy_argument.
1229 (gfc_handle_option): Set warn_unused_dummy_argument according to
1231 * trans-decl.c (generate_local_decl): Separate warnings about
1232 unused variables and unused dummy arguments.
1233 * invoke.texi: Documented new option.
1235 2010-05-20 Steven Bosscher <steven@gcc.gnu.org>
1237 * trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
1238 (gfc_conv_string_tmp): Do not assert type comparibilty.
1239 * trans-array.c: Do not include gimple.h, ggc.h, and real.h.
1240 (gfc_conv_expr_descriptor): Remove assert.
1241 * trans-common.c: Clarify why rtl.h and tm.h are included.
1242 * trans-openmp.c: Do not include ggc.h and real.h.
1243 Explain why gimple.h is included.
1244 * trans-const.c: Do not include ggc.h.
1245 * trans-stmt.c: Do not include gimple.h, ggc.h, and real.h.
1246 * trans.c: Do not include ggc.h and real.h.
1247 Explain why gimple.h is included.
1248 * trans-types.c: Do not include tm.h. Explain why langhooks.h
1249 and dwarf2out.h are included.
1250 * trans-io.c: Do not include gimple.h and real.h.
1251 * trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included.
1252 * trans-intrinsic.c: Do not include gimple.h. Explain why tm.h
1255 2010-05-20 Tobias Burnus <burnus@net-b.de>
1257 * options.c (gfc_init_options,gfc_post_options): Enable
1258 flag_associative_math by default.
1260 2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1263 * trans-stmt.c (gfc_trans_stop): Add generation of call to
1264 gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
1265 blank STOP, handling a null expression. (gfc_trans_pause): Use
1266 pause_string for blank PAUSE.
1267 * trans.h: Add external function declaration for error_stop_numeric.
1268 * trans-decl.c (gfc_build_builtin_function_decls): Add the building of
1269 the declaration for the library call. Adjust whitespaces.
1270 * match.c (gfc_match_stopcode): Remove use of the actual stop code to
1271 signal no stop code. Match the expression following the stop and pass
1272 that to the translators. Remove the old use of digit matching. Add
1273 checks that the stop_code expression is INTEGER or CHARACTER, constant,
1274 and if CHARACTER, default character KIND.
1276 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
1279 * lang.opt (Wconversion-extra): New option.
1280 * gfortran.h (gfc_option_t): Add warn_conversion_extra.
1281 * options.c (gfc_init_options): Disable -Wconversion-extra by default.
1282 (set_Wall): Enable -Wconversion.
1283 (gfc_handle_option): Set warn_conversion_extra.
1284 * intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
1285 introduced for -Wconversion if -Wconversion-extra is present.
1286 * invoke.texi: Add -Wconversion to -Wall; document new behaviour of
1287 -Wconversion; document -Wconversion-extra.
1289 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
1292 * gfortran.h (gfc_has_default_initializer): New.
1293 * expr.c (gfc_has_default_initializer): New.
1294 * resolve.c (has_default_initializer): Removed, use
1295 gfc_has_default_initializer() instead. Updated all callers.
1296 * trans-array.c (has_default_initializer): Removed, use
1297 gfc_has_default_initializer() instead. Updated all callers.
1298 * trans-decl.c (generate_local_decl): Do not check the
1299 first component only to check for initializers, but use
1300 gfc_has_default_initializer() instead.
1302 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
1305 * primary.c (match_string_constant): Move start_locus just inside
1307 * data.c (create_character_intializer): Clarified truncation warning.
1309 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
1312 * intrinsic.h (gfc_check_float): New prototype.
1313 (gfc_check_sngl): New prototype.
1314 * check.c (gfc_check_float): New.
1315 (gfc_check_sngl): New.
1316 * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
1317 to be a specific for REAL. Added check routines for FLOAT, DFLOAT
1319 * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
1320 added them to the list of specifics of REAL instead.
1322 2010-05-17 Janus Weil <janus@gcc.gnu.org>
1325 * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
1326 This is now handled via 'gfc_class_null_initializer'.
1328 2010-05-17 Janus Weil <janus@gcc.gnu.org>
1330 * class.c (gfc_add_component_ref,gfc_class_null_initializer,
1331 gfc_build_class_symbol,add_proc_component,add_proc_comps,
1332 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1333 add_procs_to_declared_vtab,add_generic_specifics,
1334 add_generics_to_declared_vtab,gfc_find_derived_vtab,
1335 find_typebound_proc_uop,gfc_find_typebound_proc,
1336 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
1337 gfc_get_tbp_symtree): Moved here from other places.
1338 * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
1340 * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
1341 gfc_find_typebound_proc,gfc_find_typebound_user_op,
1342 gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
1343 gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
1344 * Make-lang.in: Add class.o.
1345 * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
1346 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1347 add_procs_to_declared_vtab,add_generic_specifics,
1348 add_generics_to_declared_vtab,gfc_find_derived_vtab,
1349 find_typebound_proc_uop,gfc_find_typebound_proc,
1350 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
1351 gfc_get_tbp_symtree): Move to class.c.
1353 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1355 * trans-types.c (gfc_init_types): Use build_function_type_list.
1356 (gfc_get_ppc_type): Likewise.
1357 * trans-decl.c (gfc_generate_constructors): Likewise.
1358 * f95-lang.c (build_builtin_fntypes): Likewise.
1359 (gfc_init_builtin_functions): Likewise.
1360 (DEF_FUNCTION_TYPE_0): Likewise.
1361 (DEF_FUNCTION_TYPE_1): Likewise.
1362 (DEF_FUNCTION_TYPE_2): Likewise.
1363 (DEF_FUNCTION_TYPE_3): Likewise.
1364 (DEF_FUNCTION_TYPE_4): Likewise.
1365 (DEF_FUNCTION_TYPE_5): Likewise.
1366 (DEF_FUNCTION_TYPE_6): Likewise.
1367 (DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
1368 (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
1370 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1372 * trans-array.c (gfc_trans_array_constructor_value): Use
1373 build_constructor instead of build_constructor_from_list.
1374 (gfc_build_constant_array_constructor): Likewise.
1375 * trans-decl.c (create_main_function): Likewise.
1376 * trans-stmt.c (gfc_trans_character_select): Likewise.
1378 2010-05-17 Janus Weil <janus@gcc.gnu.org>
1381 * resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
1382 (resolve_fl_variable_derived): ... this place.
1383 (resolve_symbol): Make sure function symbols (and their result
1384 variables) are not resolved twice.
1386 2010-05-16 Daniel Franke <franke.daniel@gmail.com>
1389 * array.c (match_array_list): Revert change from 2010-05-13.
1391 2010-05-16 Richard Guenther <rguenther@suse.de>
1393 * trans-decl.c (module_htab_decls_hash): Revert last change.
1395 2010-05-16 Richard Guenther <rguenther@suse.de>
1397 * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
1399 2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1401 * options.c (set_Wall): Remove special logic for Wuninitialized
1404 2010-05-15 Janus Weil <janus@gcc.gnu.org>
1408 * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
1411 2010-05-15 Janus Weil <janus@gcc.gnu.org>
1415 * gfortran.h (gfc_class_null_initializer): New prototype.
1416 * expr.c (gfc_class_null_initializer): New function to build a NULL
1417 initializer for CLASS pointers.
1418 * symbol.c (gfc_build_class_symbol): Modify internal naming of class
1419 containers. Remove default NULL initialization of $data component.
1420 * trans.c (gfc_allocate_array_with_status): Fix wording of an error
1422 * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
1423 Use new function 'gfc_class_null_initializer'.
1424 * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
1427 2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
1430 * fortran/interface.c (get_sym_storage_size): Use signed instead of
1431 unsigned mpz_get_?i routines.
1433 2010-05-14 Jakub Jelinek <jakub@redhat.com>
1435 * trans.c (trans_code): Set backend locus early.
1436 * trans-decl.c (gfc_get_fake_result_decl): Use source location
1437 of the function instead of current input_location.
1439 2010-05-13 Daniel Franke <franke.daniel@gmail.com>
1442 * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
1444 * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
1445 * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
1448 2010-05-13 Jakub Jelinek <jakub@redhat.com>
1451 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
1453 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
1454 by reference dummy procedures or non-dummy procedure pointers.
1455 (gfc_omp_predetermined_sharing): Return
1456 OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
1458 2010-05-11 Daniel Franke <franke.daniel@gmail.com>
1461 * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
1462 after OMP statement.
1463 (gfc_match_omp_critical): Likewise.
1464 (gfc_match_omp_flush): Likewise.
1465 (gfc_match_omp_workshare): Likewise.
1466 (gfc_match_omp_master): Likewise.
1467 (gfc_match_omp_ordered): Likewise.
1468 (gfc_match_omp_atomic): Likewise.
1469 (gfc_match_omp_barrier): Likewise.
1470 (gfc_match_omp_end_nowait): Likewise.
1472 2010-05-11 Daniel Franke <franke.daniel@gmail.com>
1475 * resolve.c (validate_case_label_expr): Removed FIXME.
1476 (resolve_select): Raise default warning on case labels out of range
1477 of the case expression.
1479 2010-05-10 Daniel Franke <franke.daniel@gmail.com>
1484 * intrinsic.c (gfc_convert_type_warn): Be more discriminative
1485 about conversion warnings.
1487 2010-05-10 Janus Weil <janus@gcc.gnu.org>
1490 * match.c (gfc_match_select_type): Move error message to
1491 resolve_select_type.
1492 * resolve.c (resolve_select_type): Error message moved here from
1493 gfc_match_select_type. Correctly set type of temporary.
1495 2010-05-10 Richard Guenther <rguenther@suse.de>
1497 * trans-decl.c (gfc_build_library_function_decl): Split out
1499 (build_library_function_decl_1): ... this new function.
1500 Set a fnspec attribute if a specification was provided.
1501 (gfc_build_library_function_decl_with_spec): New function.
1502 (gfc_build_intrinsic_function_decls): Annotate internal_pack
1503 and internal_unpack.
1505 2010-05-07 Daniel Franke <franke.daniel@gmail.com>
1508 * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
1511 2010-05-07 Jason Merrill <jason@redhat.com>
1513 * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
1514 to avoid -Wc++-compat warning.
1516 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
1519 * options.c (gfc_handle_option): Add argument kind.
1520 * gfortran.h (gfc_handle_option): Update declaration.
1522 2010-05-06 Tobias Burnus <burnus@net-b.de>
1525 * trans-types.c (gfc_sym_type): Mark Cray pointees as
1528 2010-05-05 Daniel Franke <franke.daniel@gmail.com>
1531 * resolve.c (traverse_data_list): Rephrase error message for
1532 non-constant bounds in data-implied-do.
1534 2010-05-05 Daniel Franke <franke.daniel@gmail.com>
1537 * gfortran.h: Removed repeat count from constructor, removed
1539 * data.h (gfc_assign_data_value_range): Changed return value from
1541 * data.c (gfc_assign_data_value): Add location to constructor element.
1542 (gfc_assign_data_value_range): Call gfc_assign_data_value()
1543 for each element in range. Return early if an error was generated.
1544 * resolve.c (check_data_variable): Stop early if range assignment
1547 2010-05-05 Janus Weil <janus@gcc.gnu.org>
1550 * resolve.c (resolve_fl_derived): Some fixes for class variables.
1551 * symbol.c (gfc_build_class_symbol): Add separate class container for
1554 2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
1557 * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
1559 2010-05-02 Tobias Burnus <burnus@net-b.de>
1562 * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
1563 for lcobound, ucobound, image_index and this_image.
1564 * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
1565 gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
1566 * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
1567 gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
1569 (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
1571 2010-04-30 Tobias Burnus <burnus@net-b.de>
1575 * trans-types.c (gfc_get_array_descriptor_base): Fix index
1576 calculation for array descriptor types.
1578 2010-04-29 Janus Weil <janus@gcc.gnu.org>
1581 * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
1582 initializers for PPC members of the vtabs.
1584 2010-04-29 Janus Weil <janus@gcc.gnu.org>
1587 * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
1588 attribute for all PPC members of the vtypes.
1589 (copy_vtab_proc_comps): Copy the correct interface.
1590 * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
1591 * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
1592 a dummy argument and make sure all PPC members of the vtab are
1593 initialized correctly.
1594 (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
1595 in call to gfc_trans_assign_vtab_procs.
1596 * trans-stmt.c (gfc_trans_allocate): Ditto.
1598 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
1601 * resolve.c (resolve_typebound_function): Renamed
1602 resolve_class_compcall.Do all the detection of class references
1604 (resolve_typebound_subroutine): resolve_class_typebound_call
1605 renamed. Otherwise same as resolve_typebound_function.
1606 (gfc_resolve_expr): Call resolve_typebound_function.
1607 (resolve_code): Call resolve_typebound_subroutine.
1609 2010-04-29 Janus Weil <janus@gcc.gnu.org>
1612 * resolve.c (resolve_typebound_generic_call): For CLASS methods
1613 pass back the specific symtree name, rather than the target
1616 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
1619 * resolve.c (resolve_structure_cons): Make the initializer of
1620 the vtab component 'extends' the same type as the component.
1622 2010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1625 * interface.c (check_interface1): Pass symbol name rather than NULL to
1626 gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
1627 trap MULL. (gfc_compare_derived_types): Revert previous change
1628 incorporated incorrectly during merge from trunk, r155778.
1629 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
1630 than NULL to gfc_compare_interfaces.
1631 * symbol.c (add_generic_specifics): Likewise.
1633 2010-02-29 Janus Weil <janus@gcc.gnu.org>
1636 * interface.c (gfc_compare_derived_types): Add condition for vtype.
1637 * symbol.c (gfc_find_derived_vtab): Sey access to private.
1638 (gfc_find_derived_vtab): Likewise.
1639 * module.c (ab_attribute): Add enumerator AB_VTAB.
1640 (mio_symbol_attribute): Use new attribute, AB_VTAB.
1641 (check_for_ambiguous): Likewise.
1643 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
1644 Janus Weil <janus@gcc.gnu.org>
1647 * trans-expr.c (select_class_proc): Remove function.
1648 (conv_function_val): Delete reference to previous.
1649 (gfc_conv_derived_to_class): Add second argument to the call to
1650 gfc_find_derived_vtab.
1651 (gfc_conv_structure): Exclude proc_pointer components when
1652 accessing $data field of class objects.
1653 (gfc_trans_assign_vtab_procs): New function.
1654 (gfc_trans_class_assign): Add second argument to the call to
1655 gfc_find_derived_vtab.
1656 * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
1657 implement holding off searching for the vptr derived type.
1658 (add_proc_component): New function.
1659 (add_proc_comps): New function.
1660 (add_procs_to_declared_vtab1): New function.
1661 (copy_vtab_proc_comps): New function.
1662 (add_procs_to_declared_vtab): New function.
1663 (void add_generic_specifics): New function.
1664 (add_generics_to_declared_vtab): New function.
1665 (gfc_find_derived_vtab): Add second argument to the call to
1666 gfc_find_derived_vtab. Add the calls to
1667 add_procs_to_declared_vtab and add_generics_to_declared_vtab.
1668 * decl.c (build_sym, build_struct): Use new arg in calls to
1669 gfc_build_class_symbol.
1670 * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
1671 definition of struct gfc_class_esym_list. Modify prototypes
1672 of gfc_build_class_symbol and gfc_find_derived_vtab.
1673 * trans-stmt.c (gfc_trans_allocate): Add second argument to the
1674 call to gfc_find_derived_vtab.
1675 * module.c : Add the vtype attribute.
1676 * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
1677 * resolve.c (resolve_typebound_generic_call): Add second arg
1678 to pass along the generic name for class methods.
1679 (resolve_typebound_call): The same.
1680 (resolve_compcall): Use the second arg to carry the generic
1681 name from the above. Remove the reference to class_esym.
1682 (check_members, check_class_members, resolve_class_esym,
1683 hash_value_expr): Remove functions.
1684 (resolve_class_compcall, resolve_class_typebound_call): Modify
1685 to use vtable rather than member by member calls.
1686 (gfc_resolve_expr): Modify second arg in call to
1688 (resolve_select_type): Add second arg in call to
1689 gfc_find_derived_vtab.
1690 (resolve_code): Add second arg in call resolve_typebound_call.
1691 (resolve_fl_derived): Exclude vtypes from check for late
1692 procedure definitions. Likewise for checking of explicit
1693 interface and checking of pass arg.
1694 * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
1695 calls to gfc_find_derived_vtab.
1696 * match.c (select_type_set_tmp): Use new arg in call to
1697 gfc_build_class_symbol.
1698 * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
1700 * parse.c (endType): Finish incomplete classes.
1702 2010-04-28 Tobias Burnus <burnus@net-b.de>
1706 * simplify.c (simplify_cobound): Handle scalar coarrays.
1708 2010-04-27 Tobias Burnus <burnus@net-b.de>
1710 * gfc-internals.texi: Update copyright year.
1711 * gfortran.texi: Ditto.
1712 * invoke.texi: Ditto.
1714 2010-04-27 Tobias Burnus <burnus@net-b.de>
1717 * resolve.c (resolve_allocate_expr): Allow array coarrays.
1718 * trans-types.h (gfc_get_array_type_bounds): Update prototype.
1719 * trans-types.c (gfc_get_array_type_bounds,
1720 gfc_get_array_descriptor_base): Add corank argument.
1721 * trans-array.c (gfc_array_init_size): Handle corank.
1722 (gfc_trans_create_temp_array, gfc_array_allocate,
1723 gfc_conv_expr_descriptor): Add corank argument to call.
1724 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
1726 2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
1730 * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
1731 of mucking with a tree directly.
1733 2010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1736 * io.c (gfc_match_open): Remove branch to syntax error. Add call to
1737 gfc_error with new error message.
1739 2010-04-24 Paul Thomas <pault@gcc.gnu.org>
1743 * trans-expr.c (gfc_conv_expr): Supply an address expression for
1745 (gfc_conv_expr_reference): Call gfc_conv_expr and return for
1747 * trans-array.c (gfc_add_loop_ss_code): Store the value rather
1748 than the address of a GFC_SS_REFERENCE.
1749 * trans.h : Change comment on GFC_SS_REFERENCE.
1751 2010-04-22 Richard Guenther <rguenther@suse.de>
1754 * resolve.c (gfc_resolve_index): Wrap around ...
1755 (gfc_resolve_index_1): ... this. Add parameter to allow
1756 any integer kind index type.
1757 (resolve_array_ref): Allow any integer kind for the start
1758 index of an array ref.
1760 2010-04-21 Jakub Jelinek <jakub@redhat.com>
1763 * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
1766 2010-04-20 Harald Anlauf <anlauf@gmx.de>
1768 * intrinsic.c (sort_actual): Remove 'is' in error message.
1770 2010-04-20 Paul Thomas <pault@gcc.gnu.org>
1773 * resolve.c (resolve_fl_derived): If a component character
1774 length has not been resolved, do so now.
1775 (resolve_symbol): The same as above for a symbol character
1777 * trans-decl.c (gfc_create_module_variable): A 'length' decl is
1778 not needed for a character valued, procedure pointer.
1781 * resolve.c (ensure_not_abstract_walker): If 'overriding' is
1782 not found, return FAILURE rather than ICEing.
1784 2010-04-19 Jakub Jelinek <jakub@redhat.com>
1787 * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
1788 sequential loops private in the innermost containing task region.
1790 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
1792 * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
1793 to build_common_tree_nodes.
1795 2010-04-17 Steven G. Kargl <kargl@gcc.gnu.org>
1798 * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
1799 gfc_msg_bounds by using 'Array bound mismatch' directly.
1800 (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
1801 error message to include the mismatch in the extent of array bound.
1802 * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
1803 * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
1805 2010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1807 * gfortran.texi: Update information on temporary file locations.
1809 2010-04-16 Jakub Jelinek <jakub@redhat.com>
1811 * trans-decl.c (gfc_build_qualified_array): Ensure
1812 ubound.N and lbound.N artificial variable names don't appear
1815 2010-04-15 Steven G. Kargl <kargl@gcc.gnu.org>
1818 * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
1819 block of code. Set name to the variable associated with the descriptor.
1821 2010-04-15 Jakub Jelinek <jakub@redhat.com>
1823 * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
1824 on VAR_DECL LBOUND and/or UBOUND, even for -O1.
1826 2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
1828 * intrinsic.texi: Add the missing specific name of intrinsic
1829 procedure where the specific name is identical to the generic name.
1830 Fix inconsistent or mismatch in the argument names in intrinsic
1831 procedure descriptions. Add the SCALAR allocatable description to
1834 2010-04-14 Tobias Burnus <burnus@net-b.de>
1837 * array.c (gfc_find_array_ref): Handle codimensions.
1838 (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
1839 * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
1840 gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
1842 * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
1843 GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
1845 * intrinsic.h (add_functions): Add this_image, image_index,
1846 lcobound and ucobound intrinsics.
1847 * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
1848 gfc_check_image_index, gfc_check_this_image,
1849 gfc_simplify_image_index, gfc_simplify_lcobound,
1850 gfc_simplify_this_image, gfc_simplify_ucobound):
1851 New function prototypes.
1852 * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
1853 IMAGE_INDEX): Document new intrinsic functions.
1854 * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
1856 * simplify.c (simplify_bound_dim): Handle coarrays.
1857 (simplify_bound): Update simplify_bound_dim call.
1858 (gfc_simplify_num_images): Add -fcoarray=none check.
1859 (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
1860 gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
1862 2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1865 * constructor.c: Fix typo in comment.
1866 * expr.c (find_array_section): Add check for max array limit.
1868 2010-04-13 Iain Sandoe <iains@gcc.gnu.org>
1871 * gfortranspec.c (lookup_option): Check for -static and return
1873 (lang_specific_driver): Break when OPTION_static is discovered.
1875 2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1877 * array.c (extract_element): Restore function from trunk.
1878 (gfc_get_array_element): Restore function from trunk.
1879 (gfc_expand_constructor): Restore check against
1880 flag_max_array_constructor.
1881 * constructor.c (node_copy_and_append): Delete unused.
1882 * gfortran.h: Delete comment and extra include.
1883 * constructor.h: Bump copyright and clean up TODO comments.
1884 * resolve.c: Whitespace.
1886 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1888 * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
1889 with direct access access to elements. Adjusted prototype, fixed all
1891 (gfc_simplify_dot_product): Removed duplicate check for zero-sized
1893 (gfc_simplify_matmul): Removed usage of ADVANCE macro.
1894 (gfc_simplify_spread): Removed workaround, directly insert elements
1895 at a given array position.
1896 (gfc_simplify_transpose): Likewise.
1897 (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
1899 (gfc_simplify_unpack): Likewise.
1901 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1903 * simplify.c (only_convert_cmplx_boz): Renamed to ...
1904 (convert_boz): ... this and moved to start of file.
1905 (gfc_simplify_abs): Whitespace fix.
1906 (gfc_simplify_acos): Whitespace fix.
1907 (gfc_simplify_acosh): Whitespace fix.
1908 (gfc_simplify_aint): Whitespace fix.
1909 (gfc_simplify_dint): Whitespace fix.
1910 (gfc_simplify_anint): Whitespace fix.
1911 (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
1912 (gfc_simplify_dnint): Whitespace fix.
1913 (gfc_simplify_asin): Whitespace fix.
1914 (gfc_simplify_asinh): Moved creation of result-expr out of switch.
1915 (gfc_simplify_atan): Likewise.
1916 (gfc_simplify_atanh): Whitespace fix.
1917 (gfc_simplify_atan2): Whitespace fix.
1918 (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
1919 (gfc_simplify_bessel_j1): Likewise.
1920 (gfc_simplify_bessel_jn): Likewise.
1921 (gfc_simplify_bessel_y0): Likewise.
1922 (gfc_simplify_bessel_y1): Likewise.
1923 (gfc_simplify_bessel_yn): Likewise.
1924 (gfc_simplify_ceiling): Reorderd statements.
1925 (simplify_cmplx): Use convert_boz(), check for constant arguments.
1927 (gfc_simplify_cmplx): Use correct default kind. Removed check for
1929 (gfc_simplify_complex): Replaced if-gate. Removed check for
1931 (gfc_simplify_conjg): Whitespace fix.
1932 (gfc_simplify_cos): Whitespace fix.
1933 (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
1934 (gfc_simplify_dcmplx): Removed check for constant arguments.
1935 (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
1936 (gfc_simplify_digits): Whitespace fix.
1937 (gfc_simplify_dim): Whitespace fix.
1938 (gfc_simplify_dprod): Reordered statements.
1939 (gfc_simplify_erf): Whitespace fix.
1940 (gfc_simplify_erfc): Whitespace fix.
1941 (gfc_simplify_epsilon): Whitespace fix.
1942 (gfc_simplify_exp): Whitespace fix.
1943 (gfc_simplify_exponent): Use convert_boz().
1944 (gfc_simplify_floor): Reorderd statements.
1945 (gfc_simplify_gamma): Whitespace fix.
1946 (gfc_simplify_huge): Whitespace fix.
1947 (gfc_simplify_iand): Whitespace fix.
1948 (gfc_simplify_ieor): Whitespace fix.
1949 (simplify_intconv): Use gfc_convert_constant().
1950 (gfc_simplify_int): Use simplify_intconv().
1951 (gfc_simplify_int2): Reorderd statements.
1952 (gfc_simplify_idint): Reorderd statements.
1953 (gfc_simplify_ior): Whitespace fix.
1954 (gfc_simplify_ishftc): Removed duplicate type check.
1955 (gfc_simplify_len): Use range_check() instead of manual range check.
1956 (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
1957 (gfc_simplify_log): Whitespace fix.
1958 (gfc_simplify_log10): Whitespace fix.
1959 (gfc_simplify_minval): Whitespace fix.
1960 (gfc_simplify_maxval): Whitespace fix.
1961 (gfc_simplify_mod): Whitespace fix.
1962 (gfc_simplify_modulo): Whitespace fix.
1963 (simplify_nint): Reorderd statements.
1964 (gfc_simplify_not): Whitespace fix.
1965 (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
1966 (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
1967 (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
1968 (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
1969 (gfc_simplify_realpart): Whitespace fix.
1970 (gfc_simplify_selected_char_kind): Removed unused result-variable.
1971 (gfc_simplify_selected_int_kind): Removed unused result-variable.
1972 (gfc_simplify_selected_real_kind): Removed unused result-variable.
1973 (gfc_simplify_sign): Whitespace fix.
1974 (gfc_simplify_sin): Whitespace fix.
1975 (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
1976 (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
1977 (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
1978 (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
1979 (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
1981 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1983 * gfortran.h (gfc_start_constructor): Removed.
1984 (gfc_get_array_element): Removed.
1985 * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
1986 instead. Fixed all callers.
1987 (extract_element): Removed.
1988 (gfc_expand_constructor): Temporarily removed check for
1989 max-array-constructor. Will be re-introduced later if still required.
1990 (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
1991 instead. Fixed all callers.
1992 * expr.c (find_array_section): Replaced manual lookup of elements
1993 by gfc_constructor_lookup.
1995 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1997 * gfortran.h (gfc_get_null_expr): New prototype.
1998 (gfc_get_operator_expr): New prototype.
1999 (gfc_get_character_expr): New prototype.
2000 (gfc_get_iokind_expr): New prototype.
2001 * expr.c (gfc_get_null_expr): New.
2002 (gfc_get_character_expr): New.
2003 (gfc_get_iokind_expr): New.
2004 (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
2005 * matchexp.c (build_node): Renamed and moved to
2006 expr.c (gfc_get_operator_expr). Reordered arguments to match
2007 other functions. Fixed all callers.
2008 (gfc_get_parentheses): Use specific function to build expr.
2009 * array.c (gfc_match_array_constructor): Likewise.
2010 * arith.c (eval_intrinsic): Likewise.
2011 (gfc_hollerith2int): Likewise.
2012 (gfc_hollerith2real): Likewise.
2013 (gfc_hollerith2complex): Likewise.
2014 (gfc_hollerith2logical): Likewise.
2015 * data.c (create_character_intializer): Likewise.
2016 * decl.c (gfc_match_null): Likewise.
2017 (enum_initializer): Likewise.
2018 * io.c (gfc_match_format): Likewise.
2019 (match_io): Likewise.
2020 * match.c (gfc_match_nullify): Likewise.
2021 * primary.c (match_string_constant): Likewise.
2022 (match_logical_constant): Likewise.
2023 (build_actual_constructor): Likewise.
2024 * resolve.c (build_default_init_expr): Likewise.
2025 * symbol.c (generate_isocbinding_symbol): Likewise.
2026 (gfc_build_class_symbol): Likewise.
2027 (gfc_find_derived_vtab): Likewise.
2028 * simplify.c (simplify_achar_char): Likewise.
2029 (gfc_simplify_adjustl): Likewise.
2030 (gfc_simplify_adjustr): Likewise.
2031 (gfc_simplify_and): Likewise.
2032 (gfc_simplify_bit_size): Likewise.
2033 (gfc_simplify_is_iostat_end): Likewise.
2034 (gfc_simplify_is_iostat_eor): Likewise.
2035 (gfc_simplify_isnan): Likewise.
2036 (simplify_bound): Likewise.
2037 (gfc_simplify_leadz): Likewise.
2038 (gfc_simplify_len_trim): Likewise.
2039 (gfc_simplify_logical): Likewise.
2040 (gfc_simplify_maxexponent): Likewise.
2041 (gfc_simplify_minexponent): Likewise.
2042 (gfc_simplify_new_line): Likewise.
2043 (gfc_simplify_null): Likewise.
2044 (gfc_simplify_or): Likewise.
2045 (gfc_simplify_precision): Likewise.
2046 (gfc_simplify_repeat): Likewise.
2047 (gfc_simplify_scan): Likewise.
2048 (gfc_simplify_size): Likewise.
2049 (gfc_simplify_trailz): Likewise.
2050 (gfc_simplify_trim): Likewise.
2051 (gfc_simplify_verify): Likewise.
2052 (gfc_simplify_xor): Likewise.
2053 * trans-io.c (build_dt): Likewise.
2054 (gfc_new_nml_name_expr): Removed.
2056 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
2058 * arith.h (gfc_constant_result): Removed prototype.
2059 * constructor.h (gfc_build_array_expr): Removed prototype.
2060 (gfc_build_structure_constructor_expr): Removed prototype.
2061 * gfortran.h (gfc_int_expr): Removed prototype.
2062 (gfc_logical_expr): Removed prototype.
2063 (gfc_get_array_expr): New prototype.
2064 (gfc_get_structure_constructor_expr): New prototype.
2065 (gfc_get_constant_expr): New prototype.
2066 (gfc_get_int_expr): New prototype.
2067 (gfc_get_logical_expr): New prototype.
2068 * arith.c (gfc_constant_result): Moved and renamed to
2069 expr.c (gfc_get_constant_expr). Fixed all callers.
2070 * constructor.c (gfc_build_array_expr): Moved and renamed to
2071 expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
2072 and kind. Fixed all callers.
2073 (gfc_build_structure_constructor_expr): Moved and renamed to
2074 expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
2075 to type and kind. Fixed all callers.
2076 * expr.c (gfc_logical_expr): Renamed to ...
2077 (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
2078 (gfc_int_expr): Renamed to ...
2079 (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
2081 (gfc_get_constant_expr): New.
2082 (gfc_get_array_expr): New.
2083 (gfc_get_structure_constructor_expr): New.
2084 * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
2087 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
2089 * constructor.h: New.
2090 * constructor.c: New.
2091 * Make-lang.in: Add new files to F95_PARSER_OBJS.
2092 * arith.c (reducy_unary): Use constructor API.
2093 (reduce_binary_ac): Likewise.
2094 (reduce_binary_ca): Likewise.
2095 (reduce_binary_aa): Likewise.
2096 * check.c (gfc_check_pack): Likewise.
2097 (gfc_check_reshape): Likewise.
2098 (gfc_check_unpack): Likewise.
2099 * decl.c (add_init_expr_to_sym): Likewise.
2100 (build_struct): Likewise.
2101 * dependency.c (gfc_check_dependency): Likewise.
2102 (contains_forall_index_p): Likewise.
2103 * dump-parse-tree.c (show_constructor): Likewise.
2104 * expr.c (free_expr0): Likewise.
2105 (gfc_copy_expr): Likewise.
2106 (gfc_is_constant_expr): Likewise.
2107 (simplify_constructor): Likewise.
2108 (find_array_element): Likewise.
2109 (find_component_ref): Likewise.
2110 (find_array_section): Likewise.
2111 (find_substring_ref): Likewise.
2112 (simplify_const_ref): Likewise.
2113 (scalarize_intrinsic_call): Likewise.
2114 (check_alloc_comp_init): Likewise.
2115 (gfc_default_initializer): Likewise.
2116 (gfc_traverse_expr): Likewise.
2117 * iresolve.c (check_charlen_present): Likewise.
2118 (gfc_resolve_reshape): Likewise.
2119 (gfc_resolve_transfer): Likewise.
2120 * module.c (mio_constructor): Likewise.
2121 * primary.c (build_actual_constructor): Likewise.
2122 (gfc_match_structure_constructor): Likewise.
2123 * resolve.c (resolve_structure_cons): Likewise.
2124 * simplify.c (is_constant_array_expr): Likewise.
2125 (init_result_expr): Likewise.
2126 (transformational_result): Likewise.
2127 (simplify_transformation_to_scalar): Likewise.
2128 (simplify_transformation_to_array): Likewise.
2129 (gfc_simplify_dot_product): Likewise.
2130 (simplify_bound): Likewise.
2131 (simplify_matmul): Likewise.
2132 (simplify_minval_maxval): Likewise.
2133 (gfc_simplify_pack): Likewise.
2134 (gfc_simplify_reshape): Likewise.
2135 (gfc_simplify_shape): Likewise.
2136 (gfc_simplify_spread): Likewise.
2137 (gfc_simplify_transpose): Likewise.
2138 (gfc_simplify_unpack): Likewise.q
2139 (gfc_convert_constant): Likewise.
2140 (gfc_convert_char_constant): Likewise.
2141 * target-memory.c (size_array): Likewise.
2142 (encode_array): Likewise.
2143 (encode_derived): Likewise.
2144 (interpret_array): Likewise.
2145 (gfc_interpret_derived): Likewise.
2146 (expr_to_char): Likewise.
2147 (gfc_merge_initializers): Likewise.
2148 * trans-array.c (gfc_get_array_constructor_size): Likewise.
2149 (gfc_trans_array_constructor_value): Likewise.
2150 (get_array_ctor_strlen): Likewise.
2151 (gfc_constant_array_constructor_p): Likewise.
2152 (gfc_build_constant_array_constructor): Likewise.
2153 (gfc_trans_array_constructor): Likewise.
2154 (gfc_conv_array_initializer): Likewise.
2155 * trans-decl.c (check_constant_initializer): Likewise.
2156 * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
2157 (gfc_apply_interface_mapping_to_cons): Likewise.
2158 (gfc_trans_structure_assign): Likewise.
2159 (gfc_conv_structure): Likewise.
2160 * array.c (check_duplicate_iterator): Likewise.
2161 (match_array_list): Likewise.
2162 (match_array_cons_element): Likewise.
2163 (gfc_match_array_constructor): Likewise.
2164 (check_constructor_type): Likewise.
2165 (check_constructor): Likewise.
2167 (expand_constructor): Likewise.
2168 (extract_element): Likewise.
2169 (gfc_expanded_ac): Likewise.
2170 (resolve_array_list): Likewise.
2171 (gfc_resolve_character_array_constructor): Likewise.
2172 (copy_iterator): Renamed to ...
2173 (gfc_copy_iterator): ... this.
2174 (gfc_append_constructor): Removed.
2175 (gfc_insert_constructor): Removed unused function.
2176 (gfc_get_constructor): Removed.
2177 (gfc_free_constructor): Removed.
2178 (qgfc_copy_constructor): Removed.
2179 * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
2180 Removed all references. Replaced constructor list by splay-tree.
2181 (struct gfc_constructor): Removed member 'next', moved 'offset' from
2182 the inner struct, added member 'base'.
2183 (gfc_append_constructor): Removed prototype.
2184 (gfc_insert_constructor): Removed prototype.
2185 (gfc_get_constructor): Removed prototype.
2186 (gfc_free_constructor): Removed prototype.
2187 (qgfc_copy_constructor): Removed prototype.
2188 (gfc_copy_iterator): New prototype.
2189 * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
2191 2010-04-10 Tobias Burnus <burnus@net-b.de>
2194 * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
2195 proc-pointers and type-bound procedures.
2196 (gfc_specification_expr): Check proc-pointers for pureness.
2198 2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
2201 * gfortranspec.c (lang_specific_driver): Do not expose vars
2202 only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
2205 2010-04-09 Tobias Burnus <burnus@net-b.de>
2208 * decl.c (variable_decl, match_attr_spec): Fix setting the array
2210 * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
2211 * data.c (gfc_assign_data_value): Ditto.
2212 * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
2213 (gfc_traverse_expr): Traverse also through codimension expressions.
2214 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
2215 gfc_has_ultimate_pointer): New functions.
2216 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
2217 (gfc_array_ref): Add codimen.
2218 (gfc_array_ref): Add in_allocate.
2219 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
2220 gfc_has_ultimate_pointer): Add prototypes.
2221 * interface.c (compare_parameter, compare_actual_formal,
2222 check_intents): Add coarray constraints.
2223 * match.c (gfc_match_iterator): Add coarray constraint.
2224 * match.h (gfc_match_array_ref): Update interface.
2225 * primary.c (gfc_match_varspec): Handle codimensions.
2226 * resolve.c (coarray_alloc, inquiry_argument): New static variables.
2227 (check_class_members): Return gfc_try instead for error recovery.
2228 (resolve_typebound_function,resolve_typebound_subroutine,
2229 check_members): Handle return value of check_class_members.
2230 (resolve_structure_cons, resolve_actual_arglist, resolve_function,
2231 check_dimension, compare_spec_to_ref, resolve_array_ref,
2232 resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
2233 resolve_allocate_expr, resolve_ordinary_assign): Add coarray
2235 * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
2236 Skip over coarray refs.
2237 (gfc_array_allocate) Add support for references containing coindexes.
2238 * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
2239 (gfc_map_intrinsic_function): Ignore codimensions.
2241 2010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
2244 * io.c (check_format_string): Added check for additional non
2245 blank characters after the format string was successfully
2247 * io.c (check_format): Changed the error messages for positive
2248 int required and period required to drop through the error logic
2249 and report with gfc_error instead of gfc_error_now. Corrected
2250 format postion for hollerith strings.
2252 2010-04-08 Tobias Burnus <burnus@net-b.de>
2254 * module.c (use_iso_fortran_env_module): Fix standard check.
2256 2010-04-07 Jakub Jelinek <jakub@redhat.com>
2258 * parse.c (parse_derived, parse_enum): Avoid set but not used
2261 2010-04-07 Janne Blomqvist <jb@gcc.gnu.org>
2264 * gfortran.texi: Add section about representation of
2267 2010-04-07 Simon Baldwin <simonb@google.com>
2269 * cpp.c (cb_cpp_error): Add warning reason argument, set a value
2270 for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
2272 2010-04-07 Richard Guenther <rguenther@suse.de>
2274 * options.c (gfc_init_options): Do not set.
2276 2010-04-06 Tobias Burnus <burnus@net-b.de>
2279 * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
2280 * match.c (gfc_match_critical, sync_statement): Ditto.
2281 * gfortran.h (gfc_fcoarray): New enum.
2282 (gfc_option_t): Use it.
2283 * lang.opt (fcoarray): Add new flag.
2284 * invoke.texi (fcoarray): Document it.
2285 * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
2286 (gfc_handle_coarray_option): New function.
2288 2010-04-06 Tobias Burnus <burnus@net-b.de>
2291 * gfortran.h (gfc_array_spec): Add cotype.
2292 * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
2293 and defer error diagnostic.
2294 * resolve.c (resolve_fl_derived): Add missing check.
2295 (resolve_symbol): Add cotype/type check.
2296 * parse.c (parse_derived): Fix setting of coarray_comp.
2298 2010-04-06 Tobias Burnus <burnus@net-b.de>
2301 * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
2302 match_array_element_spec,gfc_copy_array_spec,
2303 gfc_compare_array_spec): Include corank.
2304 (match_array_element_spec,gfc_set_array_spec): Support codimension.
2305 * decl.c (build_sym,build_struct,variable_decl,
2306 match_attr_spec,attr_decl1,cray_pointer_decl,
2307 gfc_match_volatile): Add codimension.
2308 (gfc_match_codimension): New function.
2309 * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
2310 * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
2311 (gfc_add_codimension): New function prototype.
2312 * match.h (gfc_match_codimension): New function prototype.
2313 (gfc_match_array_spec): Update prototype
2314 * match.c (gfc_match_common): Update gfc_match_array_spec call.
2315 * module.c (MOD_VERSION): Bump.
2316 (mio_symbol_attribute): Support coarray attributes.
2317 (mio_array_spec): Add corank support.
2318 * parse.c (decode_specification_statement,decode_statement,
2319 parse_derived): Add coarray support.
2320 * resolve.c (resolve_formal_arglist, was_declared,
2321 is_non_constant_shape_array, resolve_fl_variable,
2322 resolve_fl_derived, resolve_symbol): Add coarray support.
2323 * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
2324 gfc_build_class_symbol): Add coarray support.
2325 (gfc_add_codimension): New function.
2327 2010-04-06 Tobias Burnus <burnus@net-b.de>
2330 * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
2331 atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
2332 stat_locked_other_image, stat_stopped_image and stat_unlocked of
2334 * intrinsic.texi (iso_fortran_env): Ditto.
2335 * libgfortran.h (libgfortran_stat_codes): New enum.
2336 * module.c (use_iso_fortran_env_module): Honour -std= when loading
2337 constants from the intrinsic module.
2339 2010-04-06 Tobias Burnus <burnus@net-b.de>
2342 * intrinsic.c (add_functions): Add num_images.
2343 * decl.c (gfc_match_end): Handle END CRITICAL.
2344 * intrinsic.h (gfc_simplify_num_images): Add prototype.
2345 * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
2347 * gfortran.h (gfc_statement): Add enum items for those.
2348 (gfc_exec_op) Ditto.
2349 (gfc_isym_id): Add num_images.
2350 * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
2351 (gfc_trans_sync,gfc_trans_critical): New functions.
2352 * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
2353 gfc_trans_critical): Add/update prototypes.
2354 * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
2355 and SYNC statements.
2356 * trans.h (gfor_fndecl_error_stop_string) Add variable.
2357 * resolve.c (resolve_sync): Add function.
2358 (gfc_resolve_blocks): Handle CRITICAL.
2359 (resolve_code): Handle CRITICAL, ERROR STOP,
2360 (resolve_branch): Add CRITICAL constraint check.
2361 and SYNC statements.
2362 * st.c (gfc_free_statement): Add new statements.
2363 * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
2364 (gfc_build_builtin_function_decls): Initialize it.
2365 * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
2366 (gfc_match_critical, gfc_match_error_stop, sync_statement,
2367 gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
2369 (match_exit_cycle): Handle CRITICAL constraint.
2370 (gfc_match_stopcode): Handle ERROR STOP.
2371 * match.h (gfc_match_critical, gfc_match_error_stop,
2372 gfc_match_sync_all, gfc_match_sync_images,
2373 gfc_match_sync_memory): Add prototype.
2374 * parse.c (decode_statement, gfc_ascii_statement,
2375 parse_executable): Handle new statements.
2376 (parse_critical_block): New function.
2377 * parse.h (gfc_compile_state): Add COMP_CRITICAL.
2378 * intrinsic.texi (num_images): Document new function.
2379 * simplify.c (gfc_simplify_num_images): Add function.
2381 2010-04-06 Tobias Burnus <burnus@net-b.de>
2384 * trans-array.c (gfc_conv_expr_descriptor): Update
2385 gfc_trans_scalar_assign call.
2386 (has_default_initializer): New function.
2387 (gfc_trans_deferred_array): Nullify less often.
2388 * trans-expr.c (gfc_conv_subref_array_arg,
2389 gfc_trans_subcomponent_assign): Update call to
2390 gfc_trans_scalar_assign.
2391 (gfc_trans_scalar_assign): Add parameter and pass it on.
2392 (gfc_trans_assignment_1): Optionally, do not dealloc before
2394 * trans-openmp.c (gfc_trans_omp_array_reduction): Update
2395 call to gfc_trans_scalar_assign.
2396 * trans-decl.c (gfc_get_symbol_decl): Do not always apply
2397 initializer to static variables.
2398 (gfc_init_default_dt): Add dealloc parameter and pass it on.
2399 * trans-stmt.c (forall_make_variable_temp,
2400 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
2401 gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
2402 gfc_trans_allocate): Update gfc_trans_assignment call.
2403 * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
2404 gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
2405 parameter to prototype.
2407 2010-03-31 Paul Thomas <pault@gcc.gnu.org>
2409 * ioparm.def : Update copyright.
2411 * trans-array.c : ditto
2412 * trans-array.h : ditto
2414 * trans-types.c: ditto
2415 * dependency.c : ditto
2416 * gfortran.h : ditto
2418 * trans-io.c : ditto
2419 * trans-intrinsic.c : ditto
2420 * libgfortran.h : ditto
2421 * invoke.texi : ditto
2422 * intrinsic.texi : ditto
2425 * intrinsic.c : ditto
2426 * interface.c : ditto
2427 * iresolve.c : ditto
2428 * trans-stmt.c : ditto
2429 * trans-stmt.h : ditto
2434 2010-03-20 Paul Thomas <pault@gcc.gnu.org>
2437 * trans-decl.c (gfc_create_module_variable): With -fwhole-file
2438 do not assert the context of derived types.
2440 2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2443 * ioparm.def: Change inquire size variable to type pointer to
2446 2010-03-18 Paul Thomas <pault@gcc.gnu.org>
2449 * trans-expr.c (conv_parent_component_references): Ensure that
2450 'dt' has a backend_decl.
2453 * trans-expr.c (gfc_conv_structure): Ensure that the derived
2454 type has a backend_decl.
2457 * resolve.c (resolve_global_procedure): Check that the 'cl'
2458 structure is not NULL.
2460 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
2462 * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
2465 2010-03-17 Tobias Burnus <burnus@net-b.de>
2468 * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
2469 gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
2471 * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
2472 pointees as having explizit size.
2473 * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
2475 * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
2476 (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
2477 * resolve.c (resolve_symbol): Handle cp_was_assumed.
2478 * trans-decl.c (gfc_trans_deferred_vars): Ditto.
2479 (gfc_finish_var_decl): Don't mark Cray pointees as restricted
2482 2010-03-14 Tobias Burnus <burnus@net-b.de>
2485 * resolve.c (resolve_structure_cons): Add missing PURE constraint.
2486 (resolve_ordinary_assign): Add check to avoid segfault.
2488 2010-03-12 Paul Thomas <pault@gcc.gnu.org>
2492 * resolve.c (resolve_compcall): Add new boolean dummy argument
2493 'class_members'. Only resolve expression at end if false.
2494 Remove redundant, static variable 'class_object'.
2495 (check_class_members): Add extra argument to call of
2497 (resolve_typebound_function): Renamed resolve_class_compcall.
2498 Do all the detection of class references here. Correct calls to
2499 resolve_compcall for extra argument.
2500 (resolve_typebound_subroutine): resolve_class_typebound_call
2501 renamed. Otherwise same as resolve_typebound_function.
2502 (gfc_resolve_expr): Call resolve_typebound_function.
2503 (resolve_code): Call resolve_typebound_subroutine.
2505 2010-03-10 Tobias Burnus <burnus@net-b.de
2508 * symbol.c (get_iso_c_sym): Set sym->result.
2510 2010-03-08 Janus Weil <janus@gcc.gnu.org>
2513 * resolve.c (resolve_compcall): Don't set 'value.function.name' here
2514 for TBPs, otherwise they will not be resolved properly.
2515 (resolve_function): Use 'value.function.esym' instead of
2516 'value.function.name' to check if we're dealing with a TBP.
2517 (check_class_members): Set correct type of passed object for all TBPs,
2518 not only generic ones, except if the type is abstract.
2520 2010-03-04 Janus Weil <janus@gcc.gnu.org>
2523 * decl.c (gfc_match_final_decl): Make sure variable names starting with
2524 'final...' are not misinterpreted as FINAL statements.
2526 2010-03-03 Paul Thomas <pault@gcc.gnu.org>
2529 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2530 allocatable ultimate components do not need temporaries, whilst
2531 ultimate pointer components do.
2533 2010-03-03 Janus Weil <janus@gcc.gnu.org>
2536 * resolve.c (resolve_code): Correctly set gfc_current_ns for
2538 (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
2541 2010-03-02 Paul Thomas <pault@gcc.gnu.org>
2544 * trans-array.c (gfc_conv_array_parameter): A full array of
2545 derived type need not be restricted to a symbol without an
2546 array spec to use the call to gfc_conv_expr_descriptor.
2549 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2550 allocatable arrays do not need temporaries.
2552 2010-03-01 Tobias Burnus <burnus@net-b.de>
2555 * resolve.c (find_array_spec): Handle REF_COMPONENT with
2558 2010-02-28 Tobias Burnus <burnus@net-b.de>
2561 * trans-expr.c (is_zero_initializer_p): Move up in the file.
2562 (gfc_conv_initializer): Handle zero initializer as special case.
2564 2010-02-27 Tobias Burnus <burnus@net-b.de>
2567 * resolve.c (resolve_fl_variable_derived): Imply SAVE
2568 for module variables for Fortran 2008.
2570 2010-02-25 Jakub Jelinek <jakub@redhat.com>
2573 * trans-common.c (build_common_decl): Also update DECL_MODE,
2574 and DECL_SIZE when encountering a larger common block and call
2577 2010-02-24 Tobias Burnus <burnus@net-b.de>
2580 * trans-expr.c (gfc_conv_initializer): Call directly
2581 gfc_conv_constant for C_NULL_(FUN)PTR.
2583 2010-02-22 Paul Thomas <pault@gcc.gnu.org>
2586 * dependency.c (gfc_full_array_ref_p): Check for contiguous by
2587 checking the rest of the dimensions for elements.
2589 2010-02-21 Tobias Burnus <burnus@net-b.de>
2592 * gfortran.h (gfc_option_t): New flag -fprotect-parens.
2594 * option.c (gfc_init_options,gfc_handle_option): Ditto.
2595 * trans-expr.c (gfc_conv_expr_op): Use the flag.
2596 * invoke.texi: Document new -fno-protect-parens flag.
2598 2010-02-20 Paul Thomas <pault@gcc.gnu.org>
2604 * dependency.c (gfc_check_argument_var_dependency): Use enum
2605 value instead of arithmetic vaue for 'elemental'.
2606 (check_data_pointer_types): New function.
2607 (gfc_check_dependency): Call check_data_pointer_types.
2608 * trans-array.h : Change fourth argument of
2609 gfc_conv_array_parameter to boolean.
2610 * trans-array.c (gfc_conv_array_parameter): A contiguous array
2611 can be a dummy but it must not be assumed shape or deferred.
2612 Change fourth argument to boolean. Array constructor exprs will
2613 always be contiguous and do not need packing and unpacking.
2614 * trans-expr.c (gfc_conv_procedure_call): Clean up some white
2615 space and change fourth argument of gfc_conv_array_parameter
2617 (gfc_trans_arrayfunc_assign): Change fourth argument of
2618 gfc_conv_array_parameter to boolean.
2619 * trans-io.c (gfc_convert_array_to_string): The same.
2620 * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
2622 2010-02-20 Tobias Burnus <burnus@net-b.de>
2625 * libgfortran.h: Add GFC_RTCHECK_MEM.
2626 * invoke.texi (-fcheck=): Document -fcheck=mem.
2627 * tranc.c (gfc_call_malloc): Remove negative-size run-time error
2628 and enable malloc-success check only with -fcheck=mem.
2629 * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
2631 2010-02-16 Tobias Burnus <burnus@net-b.de>
2634 * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
2635 * intrinsic.c (add_functions): Ditto.
2636 * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
2637 * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
2639 2010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2642 * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
2643 gfc_trans_do prototype.
2644 * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
2645 a loop exit condition. If exit condition is given, build the loop exit
2646 code, checking IO results of implied do loops in READ and WRITE.
2647 (gfc_trans_do): Likewise.
2648 * trans.c (trans_code): New static work function, previously
2649 gfc_trans_code. Passes exit condition to gfc_trans_do.
2650 (gfc_trans_code): Calls trans_code with NULL_TREE condition.
2651 (gfc_trans_code_cond): Calls trans_code with loop exit condition.
2652 * trans-io.c (build_dt): Build an exit condition to allow checking IO
2653 result status bits in the dtparm structure. Use this condition in call
2654 to gfc_trans_code_cond.
2656 2010-02-13 Paul Thomas <pault@gcc.gnu.org>
2660 * trans-array.c (gfc_conv_array_parameter): Use
2661 gfc_full_array_ref_p to detect full and contiguous variable
2662 arrays. Full array components and contiguous arrays do not need
2663 internal_pack and internal_unpack.
2665 2010-02-11 Jakub Jelinek <jakub@redhat.com>
2668 * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
2671 * decl.c (enumerator_decl): Don't call gfc_free_enum_history
2673 (gfc_match_enumerator_def): But here whenever enumerator_decl returns
2676 2010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
2677 Tobias Burnus <burnus@net-b.de>
2680 * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
2682 2010-02-10 Tobias Burnus <burnus@net-b.de>
2685 * trans-decl.c (gfc_generate_function_code): Only check
2686 actual-vs.-dummy character bounds if not bind(C).
2688 2010-02-10 Jakub Jelinek <jakub@redhat.com>
2691 * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
2692 info->dimen after info has been freed.
2694 2010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2697 * array.c (gfc_constant_ac): Do not prevent expansion of constructors
2700 2010-02-09 Jakub Jelinek <jakub@redhat.com>
2702 * module.c (fix_mio_expr): Declare sym.
2704 2010-02-09 Paul Thomas <pault@gcc.gnu.org>
2707 * module.c (fix_mio_expr): Fix for private generic procedures.
2709 2010-02-09 Daniel Kraft <d@domob.eu>
2712 * resolve.c (resolve_charlen): Change warning about negative CHARACTER
2713 length to be correct and issue only with -Wsurprising.
2714 * invoke.texi (Wsurprising): Mention this new warning that is
2715 turned on by -Wsurprising.
2717 2010-02-09 Daniel Kraft <d@domob.eu>
2720 * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
2721 can be CHARACTER type.
2722 (MINVAL), (MAXLOC), (MINLOC): Ditto.
2724 2010-02-05 Paul Thomas <pault@gcc.gnu.org>
2727 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
2728 'formal_ptr'. If this is true, give returned descriptor unity
2729 lbounds, in all dimensions, and the appropriate offset.
2730 (gfc_conv_procedure_call); If formal is a pointer, set the last
2731 argument of gfc_conv_subref_array_arg to true.
2732 * trans.h : Add last argument for gfc_conv_subref_array_arg.
2733 * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
2734 new arg of gfc_conv_subref_array_arg to false.
2735 * trans-stmt.c (forall_make_variable_temp): The same.
2737 2010-02-03 Tobias Burnus <burnus@net-b.de>
2740 * interface.c (compare_parameter): Disable rank-checking
2743 2010-02-02 Tobias Burnus <burnus@net-b.de>
2746 * parse.c (decode_specification_statement): Use sym->result not sym.
2748 2010-02-01 Tobias Burnus <burnus@net-b.de>
2751 * decl.c (variable_decl): Allow default initializer in
2752 TYPE declarations in PURE functions.
2754 2010-01-31 Janus Weil <janus@gcc.gnu.org>
2757 * resolve.c (resolve_allocate_expr): Move default initialization code
2758 here from gfc_trans_allocate.
2759 * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
2761 * trans-expr.c (gfc_trans_class_assign): Handle default initialization
2762 of CLASS variables via memcpy.
2763 * trans-stmt.c (gfc_trans_allocate): Move default initialization code
2764 to resolve_allocate_expr.
2766 2010-01-31 Paul Thomas <pault@gcc.gnu.org>
2769 * expr.c (gfc_get_full_arrayspec_from_expr): New function.
2770 * gfortran.h : Add prototype for above.
2771 * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
2772 (gfc_trans_subcomponent_assign): Call new function to replace
2773 the code to deal with allocatable components.
2774 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
2775 gfc_get_full_arrayspec_from_expr to replace existing code.
2777 2010-01-25 Tobias Burnus <burnus@net-b.de>
2780 * array.c (gfc_array_dimen_size): Fix intrinsic procedure
2783 2010-01-24 Paul Thomas <pault@gcc.gnu.org>
2787 * expr.c (remove_subobject_ref): If the constructor is NULL use
2788 the expression as the source.
2789 (simplify_const_ref): Change the type of expression if
2790 there are component references. Allow for substring to be at
2791 the end of an arbitrarily long chain of references. If an
2792 element is found that is not in an EXPR_ARRAY, assume that this
2793 is scalar initialization of array. Call remove_subobject_ref in
2794 this case with NULL second argument.
2796 2010-01-24 Tobias Burnus <burnus@net-b.de>
2799 * array.c (gfc_array_dimen_size): Use correct specific
2800 function in the check.
2802 2010-01-21 Paul Thomas <pault@gcc.gnu.org>
2805 * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
2806 is required, turn any trailing array elements after a range
2807 into ranges so that offsets can be calculated.
2809 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
2811 * module.c (mio_f2k_derived): Use enumerator as initializer of
2815 * gfortran.h (struct gfc_namespace) <resolved>: Change to signed
2816 bitfield of width 2.
2818 2010-01-19 Janus Weil <janus@gcc.gnu.org>
2821 * resolve.c (extract_compcall_passed_object): Set locus for
2822 passed-object argument.
2823 (extract_ppc_passed_object): Set locus and correctly remove PPC
2826 2010-01-19 Paul Thomas <pault@gcc.gnu.org>
2829 * trans-decl.c (add_argument_checking): Do not use the backend
2830 decl directly to test for the presence of an optional dummy
2831 argument. Use gfc_conv_expr_present, remembering to set the
2835 * trans-decl.c (gfc_generate_function_code): Small white space
2836 changes. If 'recurcheckvar' is NULL do not try to reset it.
2838 2010-01-19 Janus Weil <janus@gcc.gnu.org>
2841 * resolve.c (resolve_fl_derived): Set the accessibility of the parent
2842 component for extended types.
2843 * symbol.c (gfc_find_component): Remove a wrongly-worded error message
2844 and take care of parent component accessibility.
2846 2010-01-17 Janus Weil <janus@gcc.gnu.org>
2849 * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
2850 * interface.c (check_interface1): Move a warning message here from
2851 resolve_fl_procedure.
2852 (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
2853 * module.c (read_module): Remove call to gfc_check_interfaces, since
2854 this comes too early here.
2855 * resolve.c (resolve_fl_procedure): Move warning message to
2858 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2861 * interface.c (check_interface1): Pass symbol name rather than NULL to
2862 gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
2864 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
2865 than NULL to gfc_compare_interfaces.
2867 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
2870 * trans-array.c (duplicate_allocatable): Static version of
2871 gfc_duplicate_allocatable with provision to handle scalar
2872 components. New boolean argument to switch off call to malloc
2874 (gfc_duplicate_allocatable): New function to call above with
2876 (gfc_copy_allocatable_data): New function to call above with
2878 (structure_alloc_comps): Do not apply indirect reference to
2879 scalar pointers. Add new section to copy allocatable components
2880 of arrays. Extend copying of allocatable components to include
2882 (gfc_copy_only_alloc_comp): New function to copy allocatable
2883 component derived types, without allocating the base structure.
2884 * trans-array.h : Add primitive for gfc_copy_allocatable_data.
2885 Add primitive for gfc_copy_only_alloc_comp.
2886 * trans-expr.c (gfc_conv_procedure_call): After calls to
2887 transformational functions with results that are derived types
2888 with allocatable components, copy the components in the result.
2889 (gfc_trans_arrayfunc_assign): Deallocate allocatable components
2890 of lhs derived types before allocation.
2892 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
2895 * module.c (load_generic_interfaces): If a procedure that is
2896 use associated but not generic is given an interface that
2897 includes itself, then make it generic.
2899 2010-01-11 Joseph Myers <joseph@codesourcery.com>
2900 Shujing Zhao <pearly.zhao@oracle.com>
2902 PR translation/42469
2903 * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
2904 finit-logical=, finit-real=, fmax-array-constructor=): Use tab
2905 character between option name and help text.
2907 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2911 * trans-array.c (gfc_conv_array_initializer): Change call to
2912 gfc_error_now to call to gfc_fatal_error.
2913 * array.c (count_elements): Whitespace. (extract_element): Whitespace.
2914 (is_constant_element): Changed name from constant_element.
2915 (gfc_constant_ac): Only use expand_construuctor for expression
2916 types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
2917 call gfc_is_constant_expr.
2918 * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
2920 * resolve.c (gfc_is_expandable_expr): New function that determiners if
2921 array expressions should have their constructors expanded.
2922 (gfc_resolve_expr): Use new function to determine whether or not to call
2923 gfc_expand_constructor.
2925 2010-01-09 Tobias Burnus <burnus@net-b.de>
2928 * trans-expr.c (gfc_trans_structure_assign): Handle
2930 * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
2931 to the constructor for c_null_(fun)ptr.
2932 * resolve.c (resolve_structure_cons): Add special case
2933 for c_null_(fun)ptr.
2935 2010-01-09 Jakub Jelinek <jakub@redhat.com>
2937 * gfortranspec.c (lang_specific_driver): Update copyright notice
2940 2010-01-08 Tobias Burnus <burnus@net-b.de>
2943 * symbol.c (check_conflict, gfc_copy_attr): Add
2944 ASYNCHRONOUS support.
2945 (gfc_add_asynchronous): New function.
2946 * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
2947 (gfc_match_asynchronous): New function.
2948 * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
2949 * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
2950 (gfc_add_asynchronous): New Prototype.
2951 * module.c (ab_attribute, mio_symbol_attribute): Add
2952 ASYNCHRONOUS support.
2953 * resolve.c (was_declared): Ditto.
2954 * match.h (gfc_match_asynchronous): New prototype.
2955 * parse.c (decode_specification_statement,decode_statement):
2956 Add ASYNCHRONOUS support.
2958 2010-01-07 Tobias Burnus <burnus@net-b.de>
2961 * trans-decl.c (get_proc_pointer_decl): Fix call to
2962 gfc_conv_initializer for array-valued proc-pointer funcs.
2964 2010-01-07 Tobias Burnus <burnus@net-b.de>
2967 * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
2968 allocatable scalars with SAVE attribute.
2970 2010-01-05 Tobias Burnus <burnus@net-b.de>
2973 * options.c (gfc_post_options): Set -frecursion
2974 when -fopenmp is used.
2976 2010-01-05 Tobias Burnus <burnus@net-b.de>
2979 * trans-expr.c (gfc_conv_procedure_call): Nullify
2980 return value for allocatable-scalar character functions.
2982 2010-01-04 Tobias Burnus <burnus@net-b.de>
2985 * error.c (error_printf, gfc_warning, gfc_notify_std,
2986 gfc_warning_now, gfc_error, gfc_error_now,
2987 gfc_fatal_error): Change argument name from nocmsgid to
2988 gmsgid to enable (x)gettext's % checking.
2990 2010-01-04 Tobias Burnus <burnus@net-b.de>
2992 * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
2994 2010-01-04 Tobias Burnus <burnus@net-b.de>
2997 * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
2998 for functions returning allocatable scalars.
2999 * trans-stmt.c (gfc_trans_allocate): Emmit error when
3000 reallocating an allocatable scalar.
3001 * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
3003 * trans-decl.c (gfc_trans_deferred_vars): Nullify local
3004 allocatable scalars.
3005 (gfc_generate_function_code): Nullify result variable for
3006 allocatable scalars.
3009 * module.c (gfc_use_module): Fix warning string to allow
3013 * invoke.texi (-fcheck=recursion): Mention that the checking
3014 is also disabled for -frecursive.
3015 * trans-decl.c (gfc_generate_function_code): Disable
3016 -fcheck=recursion when -frecursive is used.
3018 * intrinsic.texi (iso_c_binding): Improve wording.
3021 Copyright (C) 2010 Free Software Foundation, Inc.
3023 Copying and distribution of this file, with or without modification,
3024 are permitted in any medium without royalty provided the copyright
3025 notice and this notice are preserved.