1 2010-06-08 Tobias Burnus <burnus@net-b.de>
4 * symbol.c (check_conflict): Move protected--external/procedure check ...
5 * resolve.c (resolve_select_type): ... to the resolution stage.
7 2010-06-07 Tobias Burnus <burnus@net-b.de>
9 * options.c (gfc_handle_option): Fix -fno-recursive.
11 2010-06-07 Tobias Burnus <burnus@net-b.de>
13 * gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
14 * gfortran.texi (copyrights-gfortran): Ditto.
16 2010-06-07 Joseph Myers <joseph@codesourcery.com>
18 * lang.opt (fshort-enums): Define using Var and VarExists.
19 * options.c (gfc_handle_option): Don't set flag_short_enums here.
21 2010-06-05 Paul Thomas <pault@gcc.gnu.org>
22 Janus Weil <janus@gcc.gnu.org>
25 * resolve.c (get_declared_from_expr): Move to before
26 resolve_typebound_generic_call. Make new_ref and class_ref
27 ignorable if set to NULL.
28 (resolve_typebound_generic_call): Once we have resolved the
29 generic call, check that the specific instance is that which
30 is bound to the declared type.
31 (resolve_typebound_function,resolve_typebound_subroutine): Avoid
32 freeing 'class_ref->next' twice.
34 2010-06-05 Paul Thomas <pault@gcc.gnu.org>
37 * trans-array.c (structure_alloc_comps): Dereference scalar
38 'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
41 2010-06-04 Joseph Myers <joseph@codesourcery.com>
43 * gfortranspec.c (append_arg, lang_specific_driver): Use
44 GCC-specific formats in diagnostics.
46 2010-06-02 Tobias Burnus <burnus@net-b.de>
49 * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
52 2010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
55 * match.c (gfc_match_stopcode): Move gfc_match_eos call inside
58 2010-05-31 Steven G. Kargl <kargl@gcc.gnu.org>
60 * fortran/gfortran.texi: Fix typos in description of variable-format-
63 2010-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
66 * dependency.c (gfc_check_section_vs_section): Check
67 for interleaving array assignments without conflicts.
69 2010-05-30 Janus Weil <janus@gcc.gnu.org>
71 * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
72 $data component of a class container.
73 * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
74 * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
75 gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
76 * gcc/fortran/interface.c (matching_typebound_op): Ditto.
77 * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
78 * gcc/fortran/parse.c (parse_derived): Ditto.
79 * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
80 gfc_expr_attr): Ditto.
81 * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
82 resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
83 resolve_fl_var_and_proc, resolve_typebound_procedure,
84 resolve_fl_derived): Ditto.
85 * gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
86 * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
88 * gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
89 gfc_trans_deferred_vars): Ditto.
90 * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
92 2010-05-28 Tobias Burnus <burnus@net-b.de>
94 * options.c (gfc_handle_option): Fix handling of -fno-whole-file.
96 2010-05-28 Joseph Myers <joseph@codesourcery.com>
98 * gfortranspec.c (append_arg, lang_specific_driver): Use
99 fatal_error instead of fatal. Use warning instead of fprintf for
102 2010-05-28 Joseph Myers <joseph@codesourcery.com>
104 * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror.
105 * module.c (write_char, gfc_dump_module, gfc_use_module): Use
106 xstrerror instead of strerror.
108 2010-05-26 Joseph Myers <joseph@codesourcery.com>
110 * cpp.c (cb_cpp_error): Save and restore
111 global_dc->warn_system_headers, not variable warn_system_headers.
113 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
115 * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
117 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
119 * trans-common.c: Do not include rtl.h, include output.h instead.
120 * trans-decl.c: Likewise.
122 2010-05-26 Paul Thomas <pault@gcc.gnu.org>
125 * resolve.c (resolve_global_procedure): Resolve the gsymbol's
126 namespace before trying to reorder the gsymbols.
128 2010-05-25 Daniel Franke <franke.daniel@gmail.com>
133 * resolve.c (resolve_global_procedure): Add check for global
134 procedures with implicit interfaces and assumed-shape or optional
135 dummy arguments. Verify that function return type, kind and string
138 2010-05-21 Tobias Burnus <burnus@net-b.de>
140 * gfortran.h: Do not include system.h.
141 * bbt.c: Include system.h.
143 * dependency.c: Ditto.
144 * dump-parse-tree.c: Ditto.
145 * arith.h: Do not include gfortran.h.
146 * constructor.h: Do not include gfortran.h and splay-tree.h.
147 * match.h: Do not include gfortran.h.
149 * target-memory.h: Ditto.
150 * openmp.c: Do not include toplev.h and target.h.
151 * trans-stmt.c: Ditto not include toplev.h.
153 * trans-common.c: Tell why toplev.h is needed. And
154 do not include target.h.
155 * trans-expr.c: Tell why toplev.h is needed.
156 * trans-array.c: Ditto.
157 * trans-openmp.c: Ditto.
158 * trans-const.c: Ditto.
160 * trans-types.c: Ditto.
162 * trans-decl.c: Ditto.
165 * trans-intrinsic.c: Ditto.
168 2010-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
171 * match.c (gfc_match_stopcode): Use gfc_match_init_expr. Go to cleanup
172 before returning MATCH_ERROR. Add check for scalar. Add check for
173 default integer kind.
175 2010-05-22 Janus Weil <janus@gcc.gnu.org>
178 * match.c (gfc_match_select_type): On error jump back out of the local
180 * parse.c (parse_derived): Defer creation of vtab symbols to resolution
181 stage, more precisely to ...
182 * resolve.c (resolve_fl_derived): ... this place.
184 2010-05-22 Janus Weil <janus@gcc.gnu.org>
187 * resolve.c (ensure_not_abstract): Allow abstract types with
188 non-abstract ancestors.
190 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
192 * trans-const.c: Include realmpfr.h.
193 * Make-lang.in: Update dependencies.
195 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
197 * trans-const.c, trans-types.c, trans-intrinsic.c:
198 Clean up redundant includes.
200 2010-05-20 Daniel Franke <franke.daniel@gmail.com>
203 * lang.opt (Wunused-dummy-argument): New option.
204 * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument.
205 * options.c (gfc_init_options): Disable warn_unused_dummy_argument.
206 (set_Wall): Enable warn_unused_dummy_argument.
207 (gfc_handle_option): Set warn_unused_dummy_argument according to
209 * trans-decl.c (generate_local_decl): Separate warnings about
210 unused variables and unused dummy arguments.
211 * invoke.texi: Documented new option.
213 2010-05-20 Steven Bosscher <steven@gcc.gnu.org>
215 * trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
216 (gfc_conv_string_tmp): Do not assert type comparibilty.
217 * trans-array.c: Do not include gimple.h, ggc.h, and real.h.
218 (gfc_conv_expr_descriptor): Remove assert.
219 * trans-common.c: Clarify why rtl.h and tm.h are included.
220 * trans-openmp.c: Do not include ggc.h and real.h.
221 Explain why gimple.h is included.
222 * trans-const.c: Do not include ggc.h.
223 * trans-stmt.c: Do not include gimple.h, ggc.h, and real.h.
224 * trans.c: Do not include ggc.h and real.h.
225 Explain why gimple.h is included.
226 * trans-types.c: Do not include tm.h. Explain why langhooks.h
227 and dwarf2out.h are included.
228 * trans-io.c: Do not include gimple.h and real.h.
229 * trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included.
230 * trans-intrinsic.c: Do not include gimple.h. Explain why tm.h
233 2010-05-20 Tobias Burnus <burnus@net-b.de>
235 * options.c (gfc_init_options,gfc_post_options): Enable
236 flag_associative_math by default.
238 2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
241 * trans-stmt.c (gfc_trans_stop): Add generation of call to
242 gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
243 blank STOP, handling a null expression. (gfc_trans_pause): Use
244 pause_string for blank PAUSE.
245 * trans.h: Add external function declaration for error_stop_numeric.
246 * trans-decl.c (gfc_build_builtin_function_decls): Add the building of
247 the declaration for the library call. Adjust whitespaces.
248 * match.c (gfc_match_stopcode): Remove use of the actual stop code to
249 signal no stop code. Match the expression following the stop and pass
250 that to the translators. Remove the old use of digit matching. Add
251 checks that the stop_code expression is INTEGER or CHARACTER, constant,
252 and if CHARACTER, default character KIND.
254 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
257 * lang.opt (Wconversion-extra): New option.
258 * gfortran.h (gfc_option_t): Add warn_conversion_extra.
259 * options.c (gfc_init_options): Disable -Wconversion-extra by default.
260 (set_Wall): Enable -Wconversion.
261 (gfc_handle_option): Set warn_conversion_extra.
262 * intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
263 introduced for -Wconversion if -Wconversion-extra is present.
264 * invoke.texi: Add -Wconversion to -Wall; document new behaviour of
265 -Wconversion; document -Wconversion-extra.
267 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
270 * gfortran.h (gfc_has_default_initializer): New.
271 * expr.c (gfc_has_default_initializer): New.
272 * resolve.c (has_default_initializer): Removed, use
273 gfc_has_default_initializer() instead. Updated all callers.
274 * trans-array.c (has_default_initializer): Removed, use
275 gfc_has_default_initializer() instead. Updated all callers.
276 * trans-decl.c (generate_local_decl): Do not check the
277 first component only to check for initializers, but use
278 gfc_has_default_initializer() instead.
280 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
283 * primary.c (match_string_constant): Move start_locus just inside
285 * data.c (create_character_intializer): Clarified truncation warning.
287 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
290 * intrinsic.h (gfc_check_float): New prototype.
291 (gfc_check_sngl): New prototype.
292 * check.c (gfc_check_float): New.
293 (gfc_check_sngl): New.
294 * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
295 to be a specific for REAL. Added check routines for FLOAT, DFLOAT
297 * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
298 added them to the list of specifics of REAL instead.
300 2010-05-17 Janus Weil <janus@gcc.gnu.org>
303 * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
304 This is now handled via 'gfc_class_null_initializer'.
306 2010-05-17 Janus Weil <janus@gcc.gnu.org>
308 * class.c (gfc_add_component_ref,gfc_class_null_initializer,
309 gfc_build_class_symbol,add_proc_component,add_proc_comps,
310 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
311 add_procs_to_declared_vtab,add_generic_specifics,
312 add_generics_to_declared_vtab,gfc_find_derived_vtab,
313 find_typebound_proc_uop,gfc_find_typebound_proc,
314 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
315 gfc_get_tbp_symtree): Moved here from other places.
316 * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
318 * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
319 gfc_find_typebound_proc,gfc_find_typebound_user_op,
320 gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
321 gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
322 * Make-lang.in: Add class.o.
323 * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
324 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
325 add_procs_to_declared_vtab,add_generic_specifics,
326 add_generics_to_declared_vtab,gfc_find_derived_vtab,
327 find_typebound_proc_uop,gfc_find_typebound_proc,
328 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
329 gfc_get_tbp_symtree): Move to class.c.
331 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
333 * trans-types.c (gfc_init_types): Use build_function_type_list.
334 (gfc_get_ppc_type): Likewise.
335 * trans-decl.c (gfc_generate_constructors): Likewise.
336 * f95-lang.c (build_builtin_fntypes): Likewise.
337 (gfc_init_builtin_functions): Likewise.
338 (DEF_FUNCTION_TYPE_0): Likewise.
339 (DEF_FUNCTION_TYPE_1): Likewise.
340 (DEF_FUNCTION_TYPE_2): Likewise.
341 (DEF_FUNCTION_TYPE_3): Likewise.
342 (DEF_FUNCTION_TYPE_4): Likewise.
343 (DEF_FUNCTION_TYPE_5): Likewise.
344 (DEF_FUNCTION_TYPE_6): Likewise.
345 (DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
346 (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
348 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
350 * trans-array.c (gfc_trans_array_constructor_value): Use
351 build_constructor instead of build_constructor_from_list.
352 (gfc_build_constant_array_constructor): Likewise.
353 * trans-decl.c (create_main_function): Likewise.
354 * trans-stmt.c (gfc_trans_character_select): Likewise.
356 2010-05-17 Janus Weil <janus@gcc.gnu.org>
359 * resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
360 (resolve_fl_variable_derived): ... this place.
361 (resolve_symbol): Make sure function symbols (and their result
362 variables) are not resolved twice.
364 2010-05-16 Daniel Franke <franke.daniel@gmail.com>
367 * array.c (match_array_list): Revert change from 2010-05-13.
369 2010-05-16 Richard Guenther <rguenther@suse.de>
371 * trans-decl.c (module_htab_decls_hash): Revert last change.
373 2010-05-16 Richard Guenther <rguenther@suse.de>
375 * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
377 2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
379 * options.c (set_Wall): Remove special logic for Wuninitialized
382 2010-05-15 Janus Weil <janus@gcc.gnu.org>
386 * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
389 2010-05-15 Janus Weil <janus@gcc.gnu.org>
393 * gfortran.h (gfc_class_null_initializer): New prototype.
394 * expr.c (gfc_class_null_initializer): New function to build a NULL
395 initializer for CLASS pointers.
396 * symbol.c (gfc_build_class_symbol): Modify internal naming of class
397 containers. Remove default NULL initialization of $data component.
398 * trans.c (gfc_allocate_array_with_status): Fix wording of an error
400 * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
401 Use new function 'gfc_class_null_initializer'.
402 * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
405 2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
408 * fortran/interface.c (get_sym_storage_size): Use signed instead of
409 unsigned mpz_get_?i routines.
411 2010-05-14 Jakub Jelinek <jakub@redhat.com>
413 * trans.c (trans_code): Set backend locus early.
414 * trans-decl.c (gfc_get_fake_result_decl): Use source location
415 of the function instead of current input_location.
417 2010-05-13 Daniel Franke <franke.daniel@gmail.com>
420 * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
422 * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
423 * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
426 2010-05-13 Jakub Jelinek <jakub@redhat.com>
429 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
431 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
432 by reference dummy procedures or non-dummy procedure pointers.
433 (gfc_omp_predetermined_sharing): Return
434 OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
436 2010-05-11 Daniel Franke <franke.daniel@gmail.com>
439 * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
441 (gfc_match_omp_critical): Likewise.
442 (gfc_match_omp_flush): Likewise.
443 (gfc_match_omp_workshare): Likewise.
444 (gfc_match_omp_master): Likewise.
445 (gfc_match_omp_ordered): Likewise.
446 (gfc_match_omp_atomic): Likewise.
447 (gfc_match_omp_barrier): Likewise.
448 (gfc_match_omp_end_nowait): Likewise.
450 2010-05-11 Daniel Franke <franke.daniel@gmail.com>
453 * resolve.c (validate_case_label_expr): Removed FIXME.
454 (resolve_select): Raise default warning on case labels out of range
455 of the case expression.
457 2010-05-10 Daniel Franke <franke.daniel@gmail.com>
462 * intrinsic.c (gfc_convert_type_warn): Be more discriminative
463 about conversion warnings.
465 2010-05-10 Janus Weil <janus@gcc.gnu.org>
468 * match.c (gfc_match_select_type): Move error message to
470 * resolve.c (resolve_select_type): Error message moved here from
471 gfc_match_select_type. Correctly set type of temporary.
473 2010-05-10 Richard Guenther <rguenther@suse.de>
475 * trans-decl.c (gfc_build_library_function_decl): Split out
477 (build_library_function_decl_1): ... this new function.
478 Set a fnspec attribute if a specification was provided.
479 (gfc_build_library_function_decl_with_spec): New function.
480 (gfc_build_intrinsic_function_decls): Annotate internal_pack
483 2010-05-07 Daniel Franke <franke.daniel@gmail.com>
486 * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
489 2010-05-07 Jason Merrill <jason@redhat.com>
491 * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
492 to avoid -Wc++-compat warning.
494 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
497 * options.c (gfc_handle_option): Add argument kind.
498 * gfortran.h (gfc_handle_option): Update declaration.
500 2010-05-06 Tobias Burnus <burnus@net-b.de>
503 * trans-types.c (gfc_sym_type): Mark Cray pointees as
506 2010-05-05 Daniel Franke <franke.daniel@gmail.com>
509 * resolve.c (traverse_data_list): Rephrase error message for
510 non-constant bounds in data-implied-do.
512 2010-05-05 Daniel Franke <franke.daniel@gmail.com>
515 * gfortran.h: Removed repeat count from constructor, removed
517 * data.h (gfc_assign_data_value_range): Changed return value from
519 * data.c (gfc_assign_data_value): Add location to constructor element.
520 (gfc_assign_data_value_range): Call gfc_assign_data_value()
521 for each element in range. Return early if an error was generated.
522 * resolve.c (check_data_variable): Stop early if range assignment
525 2010-05-05 Janus Weil <janus@gcc.gnu.org>
528 * resolve.c (resolve_fl_derived): Some fixes for class variables.
529 * symbol.c (gfc_build_class_symbol): Add separate class container for
532 2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
535 * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
537 2010-05-02 Tobias Burnus <burnus@net-b.de>
540 * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
541 for lcobound, ucobound, image_index and this_image.
542 * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
543 gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
544 * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
545 gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
547 (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
549 2010-04-30 Tobias Burnus <burnus@net-b.de>
553 * trans-types.c (gfc_get_array_descriptor_base): Fix index
554 calculation for array descriptor types.
556 2010-04-29 Janus Weil <janus@gcc.gnu.org>
559 * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
560 initializers for PPC members of the vtabs.
562 2010-04-29 Janus Weil <janus@gcc.gnu.org>
565 * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
566 attribute for all PPC members of the vtypes.
567 (copy_vtab_proc_comps): Copy the correct interface.
568 * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
569 * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
570 a dummy argument and make sure all PPC members of the vtab are
571 initialized correctly.
572 (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
573 in call to gfc_trans_assign_vtab_procs.
574 * trans-stmt.c (gfc_trans_allocate): Ditto.
576 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
579 * resolve.c (resolve_typebound_function): Renamed
580 resolve_class_compcall.Do all the detection of class references
582 (resolve_typebound_subroutine): resolve_class_typebound_call
583 renamed. Otherwise same as resolve_typebound_function.
584 (gfc_resolve_expr): Call resolve_typebound_function.
585 (resolve_code): Call resolve_typebound_subroutine.
587 2010-04-29 Janus Weil <janus@gcc.gnu.org>
590 * resolve.c (resolve_typebound_generic_call): For CLASS methods
591 pass back the specific symtree name, rather than the target
594 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
597 * resolve.c (resolve_structure_cons): Make the initializer of
598 the vtab component 'extends' the same type as the component.
600 2010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
603 * interface.c (check_interface1): Pass symbol name rather than NULL to
604 gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
605 trap MULL. (gfc_compare_derived_types): Revert previous change
606 incorporated incorrectly during merge from trunk, r155778.
607 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
608 than NULL to gfc_compare_interfaces.
609 * symbol.c (add_generic_specifics): Likewise.
611 2010-02-29 Janus Weil <janus@gcc.gnu.org>
614 * interface.c (gfc_compare_derived_types): Add condition for vtype.
615 * symbol.c (gfc_find_derived_vtab): Sey access to private.
616 (gfc_find_derived_vtab): Likewise.
617 * module.c (ab_attribute): Add enumerator AB_VTAB.
618 (mio_symbol_attribute): Use new attribute, AB_VTAB.
619 (check_for_ambiguous): Likewise.
621 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
622 Janus Weil <janus@gcc.gnu.org>
625 * trans-expr.c (select_class_proc): Remove function.
626 (conv_function_val): Delete reference to previous.
627 (gfc_conv_derived_to_class): Add second argument to the call to
628 gfc_find_derived_vtab.
629 (gfc_conv_structure): Exclude proc_pointer components when
630 accessing $data field of class objects.
631 (gfc_trans_assign_vtab_procs): New function.
632 (gfc_trans_class_assign): Add second argument to the call to
633 gfc_find_derived_vtab.
634 * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
635 implement holding off searching for the vptr derived type.
636 (add_proc_component): New function.
637 (add_proc_comps): New function.
638 (add_procs_to_declared_vtab1): New function.
639 (copy_vtab_proc_comps): New function.
640 (add_procs_to_declared_vtab): New function.
641 (void add_generic_specifics): New function.
642 (add_generics_to_declared_vtab): New function.
643 (gfc_find_derived_vtab): Add second argument to the call to
644 gfc_find_derived_vtab. Add the calls to
645 add_procs_to_declared_vtab and add_generics_to_declared_vtab.
646 * decl.c (build_sym, build_struct): Use new arg in calls to
647 gfc_build_class_symbol.
648 * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
649 definition of struct gfc_class_esym_list. Modify prototypes
650 of gfc_build_class_symbol and gfc_find_derived_vtab.
651 * trans-stmt.c (gfc_trans_allocate): Add second argument to the
652 call to gfc_find_derived_vtab.
653 * module.c : Add the vtype attribute.
654 * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
655 * resolve.c (resolve_typebound_generic_call): Add second arg
656 to pass along the generic name for class methods.
657 (resolve_typebound_call): The same.
658 (resolve_compcall): Use the second arg to carry the generic
659 name from the above. Remove the reference to class_esym.
660 (check_members, check_class_members, resolve_class_esym,
661 hash_value_expr): Remove functions.
662 (resolve_class_compcall, resolve_class_typebound_call): Modify
663 to use vtable rather than member by member calls.
664 (gfc_resolve_expr): Modify second arg in call to
666 (resolve_select_type): Add second arg in call to
667 gfc_find_derived_vtab.
668 (resolve_code): Add second arg in call resolve_typebound_call.
669 (resolve_fl_derived): Exclude vtypes from check for late
670 procedure definitions. Likewise for checking of explicit
671 interface and checking of pass arg.
672 * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
673 calls to gfc_find_derived_vtab.
674 * match.c (select_type_set_tmp): Use new arg in call to
675 gfc_build_class_symbol.
676 * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
678 * parse.c (endType): Finish incomplete classes.
680 2010-04-28 Tobias Burnus <burnus@net-b.de>
684 * simplify.c (simplify_cobound): Handle scalar coarrays.
686 2010-04-27 Tobias Burnus <burnus@net-b.de>
688 * gfc-internals.texi: Update copyright year.
689 * gfortran.texi: Ditto.
690 * invoke.texi: Ditto.
692 2010-04-27 Tobias Burnus <burnus@net-b.de>
695 * resolve.c (resolve_allocate_expr): Allow array coarrays.
696 * trans-types.h (gfc_get_array_type_bounds): Update prototype.
697 * trans-types.c (gfc_get_array_type_bounds,
698 gfc_get_array_descriptor_base): Add corank argument.
699 * trans-array.c (gfc_array_init_size): Handle corank.
700 (gfc_trans_create_temp_array, gfc_array_allocate,
701 gfc_conv_expr_descriptor): Add corank argument to call.
702 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
704 2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
708 * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
709 of mucking with a tree directly.
711 2010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
714 * io.c (gfc_match_open): Remove branch to syntax error. Add call to
715 gfc_error with new error message.
717 2010-04-24 Paul Thomas <pault@gcc.gnu.org>
721 * trans-expr.c (gfc_conv_expr): Supply an address expression for
723 (gfc_conv_expr_reference): Call gfc_conv_expr and return for
725 * trans-array.c (gfc_add_loop_ss_code): Store the value rather
726 than the address of a GFC_SS_REFERENCE.
727 * trans.h : Change comment on GFC_SS_REFERENCE.
729 2010-04-22 Richard Guenther <rguenther@suse.de>
732 * resolve.c (gfc_resolve_index): Wrap around ...
733 (gfc_resolve_index_1): ... this. Add parameter to allow
734 any integer kind index type.
735 (resolve_array_ref): Allow any integer kind for the start
736 index of an array ref.
738 2010-04-21 Jakub Jelinek <jakub@redhat.com>
741 * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
744 2010-04-20 Harald Anlauf <anlauf@gmx.de>
746 * intrinsic.c (sort_actual): Remove 'is' in error message.
748 2010-04-20 Paul Thomas <pault@gcc.gnu.org>
751 * resolve.c (resolve_fl_derived): If a component character
752 length has not been resolved, do so now.
753 (resolve_symbol): The same as above for a symbol character
755 * trans-decl.c (gfc_create_module_variable): A 'length' decl is
756 not needed for a character valued, procedure pointer.
759 * resolve.c (ensure_not_abstract_walker): If 'overriding' is
760 not found, return FAILURE rather than ICEing.
762 2010-04-19 Jakub Jelinek <jakub@redhat.com>
765 * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
766 sequential loops private in the innermost containing task region.
768 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
770 * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
771 to build_common_tree_nodes.
773 2010-04-17 Steven G. Kargl <kargl@gcc.gnu.org>
776 * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
777 gfc_msg_bounds by using 'Array bound mismatch' directly.
778 (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
779 error message to include the mismatch in the extent of array bound.
780 * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
781 * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
783 2010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
785 * gfortran.texi: Update information on temporary file locations.
787 2010-04-16 Jakub Jelinek <jakub@redhat.com>
789 * trans-decl.c (gfc_build_qualified_array): Ensure
790 ubound.N and lbound.N artificial variable names don't appear
793 2010-04-15 Steven G. Kargl <kargl@gcc.gnu.org>
796 * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
797 block of code. Set name to the variable associated with the descriptor.
799 2010-04-15 Jakub Jelinek <jakub@redhat.com>
801 * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
802 on VAR_DECL LBOUND and/or UBOUND, even for -O1.
804 2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
806 * intrinsic.texi: Add the missing specific name of intrinsic
807 procedure where the specific name is identical to the generic name.
808 Fix inconsistent or mismatch in the argument names in intrinsic
809 procedure descriptions. Add the SCALAR allocatable description to
812 2010-04-14 Tobias Burnus <burnus@net-b.de>
815 * array.c (gfc_find_array_ref): Handle codimensions.
816 (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
817 * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
818 gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
820 * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
821 GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
823 * intrinsic.h (add_functions): Add this_image, image_index,
824 lcobound and ucobound intrinsics.
825 * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
826 gfc_check_image_index, gfc_check_this_image,
827 gfc_simplify_image_index, gfc_simplify_lcobound,
828 gfc_simplify_this_image, gfc_simplify_ucobound):
829 New function prototypes.
830 * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
831 IMAGE_INDEX): Document new intrinsic functions.
832 * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
834 * simplify.c (simplify_bound_dim): Handle coarrays.
835 (simplify_bound): Update simplify_bound_dim call.
836 (gfc_simplify_num_images): Add -fcoarray=none check.
837 (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
838 gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
840 2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
843 * constructor.c: Fix typo in comment.
844 * expr.c (find_array_section): Add check for max array limit.
846 2010-04-13 Iain Sandoe <iains@gcc.gnu.org>
849 * gfortranspec.c (lookup_option): Check for -static and return
851 (lang_specific_driver): Break when OPTION_static is discovered.
853 2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
855 * array.c (extract_element): Restore function from trunk.
856 (gfc_get_array_element): Restore function from trunk.
857 (gfc_expand_constructor): Restore check against
858 flag_max_array_constructor.
859 * constructor.c (node_copy_and_append): Delete unused.
860 * gfortran.h: Delete comment and extra include.
861 * constructor.h: Bump copyright and clean up TODO comments.
862 * resolve.c: Whitespace.
864 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
866 * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
867 with direct access access to elements. Adjusted prototype, fixed all
869 (gfc_simplify_dot_product): Removed duplicate check for zero-sized
871 (gfc_simplify_matmul): Removed usage of ADVANCE macro.
872 (gfc_simplify_spread): Removed workaround, directly insert elements
873 at a given array position.
874 (gfc_simplify_transpose): Likewise.
875 (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
877 (gfc_simplify_unpack): Likewise.
879 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
881 * simplify.c (only_convert_cmplx_boz): Renamed to ...
882 (convert_boz): ... this and moved to start of file.
883 (gfc_simplify_abs): Whitespace fix.
884 (gfc_simplify_acos): Whitespace fix.
885 (gfc_simplify_acosh): Whitespace fix.
886 (gfc_simplify_aint): Whitespace fix.
887 (gfc_simplify_dint): Whitespace fix.
888 (gfc_simplify_anint): Whitespace fix.
889 (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
890 (gfc_simplify_dnint): Whitespace fix.
891 (gfc_simplify_asin): Whitespace fix.
892 (gfc_simplify_asinh): Moved creation of result-expr out of switch.
893 (gfc_simplify_atan): Likewise.
894 (gfc_simplify_atanh): Whitespace fix.
895 (gfc_simplify_atan2): Whitespace fix.
896 (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
897 (gfc_simplify_bessel_j1): Likewise.
898 (gfc_simplify_bessel_jn): Likewise.
899 (gfc_simplify_bessel_y0): Likewise.
900 (gfc_simplify_bessel_y1): Likewise.
901 (gfc_simplify_bessel_yn): Likewise.
902 (gfc_simplify_ceiling): Reorderd statements.
903 (simplify_cmplx): Use convert_boz(), check for constant arguments.
905 (gfc_simplify_cmplx): Use correct default kind. Removed check for
907 (gfc_simplify_complex): Replaced if-gate. Removed check for
909 (gfc_simplify_conjg): Whitespace fix.
910 (gfc_simplify_cos): Whitespace fix.
911 (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
912 (gfc_simplify_dcmplx): Removed check for constant arguments.
913 (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
914 (gfc_simplify_digits): Whitespace fix.
915 (gfc_simplify_dim): Whitespace fix.
916 (gfc_simplify_dprod): Reordered statements.
917 (gfc_simplify_erf): Whitespace fix.
918 (gfc_simplify_erfc): Whitespace fix.
919 (gfc_simplify_epsilon): Whitespace fix.
920 (gfc_simplify_exp): Whitespace fix.
921 (gfc_simplify_exponent): Use convert_boz().
922 (gfc_simplify_floor): Reorderd statements.
923 (gfc_simplify_gamma): Whitespace fix.
924 (gfc_simplify_huge): Whitespace fix.
925 (gfc_simplify_iand): Whitespace fix.
926 (gfc_simplify_ieor): Whitespace fix.
927 (simplify_intconv): Use gfc_convert_constant().
928 (gfc_simplify_int): Use simplify_intconv().
929 (gfc_simplify_int2): Reorderd statements.
930 (gfc_simplify_idint): Reorderd statements.
931 (gfc_simplify_ior): Whitespace fix.
932 (gfc_simplify_ishftc): Removed duplicate type check.
933 (gfc_simplify_len): Use range_check() instead of manual range check.
934 (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
935 (gfc_simplify_log): Whitespace fix.
936 (gfc_simplify_log10): Whitespace fix.
937 (gfc_simplify_minval): Whitespace fix.
938 (gfc_simplify_maxval): Whitespace fix.
939 (gfc_simplify_mod): Whitespace fix.
940 (gfc_simplify_modulo): Whitespace fix.
941 (simplify_nint): Reorderd statements.
942 (gfc_simplify_not): Whitespace fix.
943 (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
944 (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
945 (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
946 (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
947 (gfc_simplify_realpart): Whitespace fix.
948 (gfc_simplify_selected_char_kind): Removed unused result-variable.
949 (gfc_simplify_selected_int_kind): Removed unused result-variable.
950 (gfc_simplify_selected_real_kind): Removed unused result-variable.
951 (gfc_simplify_sign): Whitespace fix.
952 (gfc_simplify_sin): Whitespace fix.
953 (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
954 (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
955 (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
956 (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
957 (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
959 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
961 * gfortran.h (gfc_start_constructor): Removed.
962 (gfc_get_array_element): Removed.
963 * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
964 instead. Fixed all callers.
965 (extract_element): Removed.
966 (gfc_expand_constructor): Temporarily removed check for
967 max-array-constructor. Will be re-introduced later if still required.
968 (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
969 instead. Fixed all callers.
970 * expr.c (find_array_section): Replaced manual lookup of elements
971 by gfc_constructor_lookup.
973 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
975 * gfortran.h (gfc_get_null_expr): New prototype.
976 (gfc_get_operator_expr): New prototype.
977 (gfc_get_character_expr): New prototype.
978 (gfc_get_iokind_expr): New prototype.
979 * expr.c (gfc_get_null_expr): New.
980 (gfc_get_character_expr): New.
981 (gfc_get_iokind_expr): New.
982 (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
983 * matchexp.c (build_node): Renamed and moved to
984 expr.c (gfc_get_operator_expr). Reordered arguments to match
985 other functions. Fixed all callers.
986 (gfc_get_parentheses): Use specific function to build expr.
987 * array.c (gfc_match_array_constructor): Likewise.
988 * arith.c (eval_intrinsic): Likewise.
989 (gfc_hollerith2int): Likewise.
990 (gfc_hollerith2real): Likewise.
991 (gfc_hollerith2complex): Likewise.
992 (gfc_hollerith2logical): Likewise.
993 * data.c (create_character_intializer): Likewise.
994 * decl.c (gfc_match_null): Likewise.
995 (enum_initializer): Likewise.
996 * io.c (gfc_match_format): Likewise.
997 (match_io): Likewise.
998 * match.c (gfc_match_nullify): Likewise.
999 * primary.c (match_string_constant): Likewise.
1000 (match_logical_constant): Likewise.
1001 (build_actual_constructor): Likewise.
1002 * resolve.c (build_default_init_expr): Likewise.
1003 * symbol.c (generate_isocbinding_symbol): Likewise.
1004 (gfc_build_class_symbol): Likewise.
1005 (gfc_find_derived_vtab): Likewise.
1006 * simplify.c (simplify_achar_char): Likewise.
1007 (gfc_simplify_adjustl): Likewise.
1008 (gfc_simplify_adjustr): Likewise.
1009 (gfc_simplify_and): Likewise.
1010 (gfc_simplify_bit_size): Likewise.
1011 (gfc_simplify_is_iostat_end): Likewise.
1012 (gfc_simplify_is_iostat_eor): Likewise.
1013 (gfc_simplify_isnan): Likewise.
1014 (simplify_bound): Likewise.
1015 (gfc_simplify_leadz): Likewise.
1016 (gfc_simplify_len_trim): Likewise.
1017 (gfc_simplify_logical): Likewise.
1018 (gfc_simplify_maxexponent): Likewise.
1019 (gfc_simplify_minexponent): Likewise.
1020 (gfc_simplify_new_line): Likewise.
1021 (gfc_simplify_null): Likewise.
1022 (gfc_simplify_or): Likewise.
1023 (gfc_simplify_precision): Likewise.
1024 (gfc_simplify_repeat): Likewise.
1025 (gfc_simplify_scan): Likewise.
1026 (gfc_simplify_size): Likewise.
1027 (gfc_simplify_trailz): Likewise.
1028 (gfc_simplify_trim): Likewise.
1029 (gfc_simplify_verify): Likewise.
1030 (gfc_simplify_xor): Likewise.
1031 * trans-io.c (build_dt): Likewise.
1032 (gfc_new_nml_name_expr): Removed.
1034 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1036 * arith.h (gfc_constant_result): Removed prototype.
1037 * constructor.h (gfc_build_array_expr): Removed prototype.
1038 (gfc_build_structure_constructor_expr): Removed prototype.
1039 * gfortran.h (gfc_int_expr): Removed prototype.
1040 (gfc_logical_expr): Removed prototype.
1041 (gfc_get_array_expr): New prototype.
1042 (gfc_get_structure_constructor_expr): New prototype.
1043 (gfc_get_constant_expr): New prototype.
1044 (gfc_get_int_expr): New prototype.
1045 (gfc_get_logical_expr): New prototype.
1046 * arith.c (gfc_constant_result): Moved and renamed to
1047 expr.c (gfc_get_constant_expr). Fixed all callers.
1048 * constructor.c (gfc_build_array_expr): Moved and renamed to
1049 expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
1050 and kind. Fixed all callers.
1051 (gfc_build_structure_constructor_expr): Moved and renamed to
1052 expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
1053 to type and kind. Fixed all callers.
1054 * expr.c (gfc_logical_expr): Renamed to ...
1055 (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
1056 (gfc_int_expr): Renamed to ...
1057 (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
1059 (gfc_get_constant_expr): New.
1060 (gfc_get_array_expr): New.
1061 (gfc_get_structure_constructor_expr): New.
1062 * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
1065 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1067 * constructor.h: New.
1068 * constructor.c: New.
1069 * Make-lang.in: Add new files to F95_PARSER_OBJS.
1070 * arith.c (reducy_unary): Use constructor API.
1071 (reduce_binary_ac): Likewise.
1072 (reduce_binary_ca): Likewise.
1073 (reduce_binary_aa): Likewise.
1074 * check.c (gfc_check_pack): Likewise.
1075 (gfc_check_reshape): Likewise.
1076 (gfc_check_unpack): Likewise.
1077 * decl.c (add_init_expr_to_sym): Likewise.
1078 (build_struct): Likewise.
1079 * dependency.c (gfc_check_dependency): Likewise.
1080 (contains_forall_index_p): Likewise.
1081 * dump-parse-tree.c (show_constructor): Likewise.
1082 * expr.c (free_expr0): Likewise.
1083 (gfc_copy_expr): Likewise.
1084 (gfc_is_constant_expr): Likewise.
1085 (simplify_constructor): Likewise.
1086 (find_array_element): Likewise.
1087 (find_component_ref): Likewise.
1088 (find_array_section): Likewise.
1089 (find_substring_ref): Likewise.
1090 (simplify_const_ref): Likewise.
1091 (scalarize_intrinsic_call): Likewise.
1092 (check_alloc_comp_init): Likewise.
1093 (gfc_default_initializer): Likewise.
1094 (gfc_traverse_expr): Likewise.
1095 * iresolve.c (check_charlen_present): Likewise.
1096 (gfc_resolve_reshape): Likewise.
1097 (gfc_resolve_transfer): Likewise.
1098 * module.c (mio_constructor): Likewise.
1099 * primary.c (build_actual_constructor): Likewise.
1100 (gfc_match_structure_constructor): Likewise.
1101 * resolve.c (resolve_structure_cons): Likewise.
1102 * simplify.c (is_constant_array_expr): Likewise.
1103 (init_result_expr): Likewise.
1104 (transformational_result): Likewise.
1105 (simplify_transformation_to_scalar): Likewise.
1106 (simplify_transformation_to_array): Likewise.
1107 (gfc_simplify_dot_product): Likewise.
1108 (simplify_bound): Likewise.
1109 (simplify_matmul): Likewise.
1110 (simplify_minval_maxval): Likewise.
1111 (gfc_simplify_pack): Likewise.
1112 (gfc_simplify_reshape): Likewise.
1113 (gfc_simplify_shape): Likewise.
1114 (gfc_simplify_spread): Likewise.
1115 (gfc_simplify_transpose): Likewise.
1116 (gfc_simplify_unpack): Likewise.q
1117 (gfc_convert_constant): Likewise.
1118 (gfc_convert_char_constant): Likewise.
1119 * target-memory.c (size_array): Likewise.
1120 (encode_array): Likewise.
1121 (encode_derived): Likewise.
1122 (interpret_array): Likewise.
1123 (gfc_interpret_derived): Likewise.
1124 (expr_to_char): Likewise.
1125 (gfc_merge_initializers): Likewise.
1126 * trans-array.c (gfc_get_array_constructor_size): Likewise.
1127 (gfc_trans_array_constructor_value): Likewise.
1128 (get_array_ctor_strlen): Likewise.
1129 (gfc_constant_array_constructor_p): Likewise.
1130 (gfc_build_constant_array_constructor): Likewise.
1131 (gfc_trans_array_constructor): Likewise.
1132 (gfc_conv_array_initializer): Likewise.
1133 * trans-decl.c (check_constant_initializer): Likewise.
1134 * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
1135 (gfc_apply_interface_mapping_to_cons): Likewise.
1136 (gfc_trans_structure_assign): Likewise.
1137 (gfc_conv_structure): Likewise.
1138 * array.c (check_duplicate_iterator): Likewise.
1139 (match_array_list): Likewise.
1140 (match_array_cons_element): Likewise.
1141 (gfc_match_array_constructor): Likewise.
1142 (check_constructor_type): Likewise.
1143 (check_constructor): Likewise.
1145 (expand_constructor): Likewise.
1146 (extract_element): Likewise.
1147 (gfc_expanded_ac): Likewise.
1148 (resolve_array_list): Likewise.
1149 (gfc_resolve_character_array_constructor): Likewise.
1150 (copy_iterator): Renamed to ...
1151 (gfc_copy_iterator): ... this.
1152 (gfc_append_constructor): Removed.
1153 (gfc_insert_constructor): Removed unused function.
1154 (gfc_get_constructor): Removed.
1155 (gfc_free_constructor): Removed.
1156 (qgfc_copy_constructor): Removed.
1157 * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
1158 Removed all references. Replaced constructor list by splay-tree.
1159 (struct gfc_constructor): Removed member 'next', moved 'offset' from
1160 the inner struct, added member 'base'.
1161 (gfc_append_constructor): Removed prototype.
1162 (gfc_insert_constructor): Removed prototype.
1163 (gfc_get_constructor): Removed prototype.
1164 (gfc_free_constructor): Removed prototype.
1165 (qgfc_copy_constructor): Removed prototype.
1166 (gfc_copy_iterator): New prototype.
1167 * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
1169 2010-04-10 Tobias Burnus <burnus@net-b.de>
1172 * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
1173 proc-pointers and type-bound procedures.
1174 (gfc_specification_expr): Check proc-pointers for pureness.
1176 2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
1179 * gfortranspec.c (lang_specific_driver): Do not expose vars
1180 only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
1183 2010-04-09 Tobias Burnus <burnus@net-b.de>
1186 * decl.c (variable_decl, match_attr_spec): Fix setting the array
1188 * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
1189 * data.c (gfc_assign_data_value): Ditto.
1190 * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
1191 (gfc_traverse_expr): Traverse also through codimension expressions.
1192 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
1193 gfc_has_ultimate_pointer): New functions.
1194 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
1195 (gfc_array_ref): Add codimen.
1196 (gfc_array_ref): Add in_allocate.
1197 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
1198 gfc_has_ultimate_pointer): Add prototypes.
1199 * interface.c (compare_parameter, compare_actual_formal,
1200 check_intents): Add coarray constraints.
1201 * match.c (gfc_match_iterator): Add coarray constraint.
1202 * match.h (gfc_match_array_ref): Update interface.
1203 * primary.c (gfc_match_varspec): Handle codimensions.
1204 * resolve.c (coarray_alloc, inquiry_argument): New static variables.
1205 (check_class_members): Return gfc_try instead for error recovery.
1206 (resolve_typebound_function,resolve_typebound_subroutine,
1207 check_members): Handle return value of check_class_members.
1208 (resolve_structure_cons, resolve_actual_arglist, resolve_function,
1209 check_dimension, compare_spec_to_ref, resolve_array_ref,
1210 resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
1211 resolve_allocate_expr, resolve_ordinary_assign): Add coarray
1213 * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
1214 Skip over coarray refs.
1215 (gfc_array_allocate) Add support for references containing coindexes.
1216 * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
1217 (gfc_map_intrinsic_function): Ignore codimensions.
1219 2010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
1222 * io.c (check_format_string): Added check for additional non
1223 blank characters after the format string was successfully
1225 * io.c (check_format): Changed the error messages for positive
1226 int required and period required to drop through the error logic
1227 and report with gfc_error instead of gfc_error_now. Corrected
1228 format postion for hollerith strings.
1230 2010-04-08 Tobias Burnus <burnus@net-b.de>
1232 * module.c (use_iso_fortran_env_module): Fix standard check.
1234 2010-04-07 Jakub Jelinek <jakub@redhat.com>
1236 * parse.c (parse_derived, parse_enum): Avoid set but not used
1239 2010-04-07 Janne Blomqvist <jb@gcc.gnu.org>
1242 * gfortran.texi: Add section about representation of
1245 2010-04-07 Simon Baldwin <simonb@google.com>
1247 * cpp.c (cb_cpp_error): Add warning reason argument, set a value
1248 for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
1250 2010-04-07 Richard Guenther <rguenther@suse.de>
1252 * options.c (gfc_init_options): Do not set.
1254 2010-04-06 Tobias Burnus <burnus@net-b.de>
1257 * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
1258 * match.c (gfc_match_critical, sync_statement): Ditto.
1259 * gfortran.h (gfc_fcoarray): New enum.
1260 (gfc_option_t): Use it.
1261 * lang.opt (fcoarray): Add new flag.
1262 * invoke.texi (fcoarray): Document it.
1263 * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
1264 (gfc_handle_coarray_option): New function.
1266 2010-04-06 Tobias Burnus <burnus@net-b.de>
1269 * gfortran.h (gfc_array_spec): Add cotype.
1270 * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
1271 and defer error diagnostic.
1272 * resolve.c (resolve_fl_derived): Add missing check.
1273 (resolve_symbol): Add cotype/type check.
1274 * parse.c (parse_derived): Fix setting of coarray_comp.
1276 2010-04-06 Tobias Burnus <burnus@net-b.de>
1279 * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
1280 match_array_element_spec,gfc_copy_array_spec,
1281 gfc_compare_array_spec): Include corank.
1282 (match_array_element_spec,gfc_set_array_spec): Support codimension.
1283 * decl.c (build_sym,build_struct,variable_decl,
1284 match_attr_spec,attr_decl1,cray_pointer_decl,
1285 gfc_match_volatile): Add codimension.
1286 (gfc_match_codimension): New function.
1287 * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
1288 * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
1289 (gfc_add_codimension): New function prototype.
1290 * match.h (gfc_match_codimension): New function prototype.
1291 (gfc_match_array_spec): Update prototype
1292 * match.c (gfc_match_common): Update gfc_match_array_spec call.
1293 * module.c (MOD_VERSION): Bump.
1294 (mio_symbol_attribute): Support coarray attributes.
1295 (mio_array_spec): Add corank support.
1296 * parse.c (decode_specification_statement,decode_statement,
1297 parse_derived): Add coarray support.
1298 * resolve.c (resolve_formal_arglist, was_declared,
1299 is_non_constant_shape_array, resolve_fl_variable,
1300 resolve_fl_derived, resolve_symbol): Add coarray support.
1301 * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
1302 gfc_build_class_symbol): Add coarray support.
1303 (gfc_add_codimension): New function.
1305 2010-04-06 Tobias Burnus <burnus@net-b.de>
1308 * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
1309 atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
1310 stat_locked_other_image, stat_stopped_image and stat_unlocked of
1312 * intrinsic.texi (iso_fortran_env): Ditto.
1313 * libgfortran.h (libgfortran_stat_codes): New enum.
1314 * module.c (use_iso_fortran_env_module): Honour -std= when loading
1315 constants from the intrinsic module.
1317 2010-04-06 Tobias Burnus <burnus@net-b.de>
1320 * intrinsic.c (add_functions): Add num_images.
1321 * decl.c (gfc_match_end): Handle END CRITICAL.
1322 * intrinsic.h (gfc_simplify_num_images): Add prototype.
1323 * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
1325 * gfortran.h (gfc_statement): Add enum items for those.
1326 (gfc_exec_op) Ditto.
1327 (gfc_isym_id): Add num_images.
1328 * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
1329 (gfc_trans_sync,gfc_trans_critical): New functions.
1330 * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
1331 gfc_trans_critical): Add/update prototypes.
1332 * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
1333 and SYNC statements.
1334 * trans.h (gfor_fndecl_error_stop_string) Add variable.
1335 * resolve.c (resolve_sync): Add function.
1336 (gfc_resolve_blocks): Handle CRITICAL.
1337 (resolve_code): Handle CRITICAL, ERROR STOP,
1338 (resolve_branch): Add CRITICAL constraint check.
1339 and SYNC statements.
1340 * st.c (gfc_free_statement): Add new statements.
1341 * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
1342 (gfc_build_builtin_function_decls): Initialize it.
1343 * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
1344 (gfc_match_critical, gfc_match_error_stop, sync_statement,
1345 gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
1347 (match_exit_cycle): Handle CRITICAL constraint.
1348 (gfc_match_stopcode): Handle ERROR STOP.
1349 * match.h (gfc_match_critical, gfc_match_error_stop,
1350 gfc_match_sync_all, gfc_match_sync_images,
1351 gfc_match_sync_memory): Add prototype.
1352 * parse.c (decode_statement, gfc_ascii_statement,
1353 parse_executable): Handle new statements.
1354 (parse_critical_block): New function.
1355 * parse.h (gfc_compile_state): Add COMP_CRITICAL.
1356 * intrinsic.texi (num_images): Document new function.
1357 * simplify.c (gfc_simplify_num_images): Add function.
1359 2010-04-06 Tobias Burnus <burnus@net-b.de>
1362 * trans-array.c (gfc_conv_expr_descriptor): Update
1363 gfc_trans_scalar_assign call.
1364 (has_default_initializer): New function.
1365 (gfc_trans_deferred_array): Nullify less often.
1366 * trans-expr.c (gfc_conv_subref_array_arg,
1367 gfc_trans_subcomponent_assign): Update call to
1368 gfc_trans_scalar_assign.
1369 (gfc_trans_scalar_assign): Add parameter and pass it on.
1370 (gfc_trans_assignment_1): Optionally, do not dealloc before
1372 * trans-openmp.c (gfc_trans_omp_array_reduction): Update
1373 call to gfc_trans_scalar_assign.
1374 * trans-decl.c (gfc_get_symbol_decl): Do not always apply
1375 initializer to static variables.
1376 (gfc_init_default_dt): Add dealloc parameter and pass it on.
1377 * trans-stmt.c (forall_make_variable_temp,
1378 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
1379 gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
1380 gfc_trans_allocate): Update gfc_trans_assignment call.
1381 * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
1382 gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
1383 parameter to prototype.
1385 2010-03-31 Paul Thomas <pault@gcc.gnu.org>
1387 * ioparm.def : Update copyright.
1389 * trans-array.c : ditto
1390 * trans-array.h : ditto
1392 * trans-types.c: ditto
1393 * dependency.c : ditto
1394 * gfortran.h : ditto
1396 * trans-io.c : ditto
1397 * trans-intrinsic.c : ditto
1398 * libgfortran.h : ditto
1399 * invoke.texi : ditto
1400 * intrinsic.texi : ditto
1403 * intrinsic.c : ditto
1404 * interface.c : ditto
1405 * iresolve.c : ditto
1406 * trans-stmt.c : ditto
1407 * trans-stmt.h : ditto
1412 2010-03-20 Paul Thomas <pault@gcc.gnu.org>
1415 * trans-decl.c (gfc_create_module_variable): With -fwhole-file
1416 do not assert the context of derived types.
1418 2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1421 * ioparm.def: Change inquire size variable to type pointer to
1424 2010-03-18 Paul Thomas <pault@gcc.gnu.org>
1427 * trans-expr.c (conv_parent_component_references): Ensure that
1428 'dt' has a backend_decl.
1431 * trans-expr.c (gfc_conv_structure): Ensure that the derived
1432 type has a backend_decl.
1435 * resolve.c (resolve_global_procedure): Check that the 'cl'
1436 structure is not NULL.
1438 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
1440 * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
1443 2010-03-17 Tobias Burnus <burnus@net-b.de>
1446 * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
1447 gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
1449 * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
1450 pointees as having explizit size.
1451 * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
1453 * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
1454 (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
1455 * resolve.c (resolve_symbol): Handle cp_was_assumed.
1456 * trans-decl.c (gfc_trans_deferred_vars): Ditto.
1457 (gfc_finish_var_decl): Don't mark Cray pointees as restricted
1460 2010-03-14 Tobias Burnus <burnus@net-b.de>
1463 * resolve.c (resolve_structure_cons): Add missing PURE constraint.
1464 (resolve_ordinary_assign): Add check to avoid segfault.
1466 2010-03-12 Paul Thomas <pault@gcc.gnu.org>
1470 * resolve.c (resolve_compcall): Add new boolean dummy argument
1471 'class_members'. Only resolve expression at end if false.
1472 Remove redundant, static variable 'class_object'.
1473 (check_class_members): Add extra argument to call of
1475 (resolve_typebound_function): Renamed resolve_class_compcall.
1476 Do all the detection of class references here. Correct calls to
1477 resolve_compcall for extra argument.
1478 (resolve_typebound_subroutine): resolve_class_typebound_call
1479 renamed. Otherwise same as resolve_typebound_function.
1480 (gfc_resolve_expr): Call resolve_typebound_function.
1481 (resolve_code): Call resolve_typebound_subroutine.
1483 2010-03-10 Tobias Burnus <burnus@net-b.de
1486 * symbol.c (get_iso_c_sym): Set sym->result.
1488 2010-03-08 Janus Weil <janus@gcc.gnu.org>
1491 * resolve.c (resolve_compcall): Don't set 'value.function.name' here
1492 for TBPs, otherwise they will not be resolved properly.
1493 (resolve_function): Use 'value.function.esym' instead of
1494 'value.function.name' to check if we're dealing with a TBP.
1495 (check_class_members): Set correct type of passed object for all TBPs,
1496 not only generic ones, except if the type is abstract.
1498 2010-03-04 Janus Weil <janus@gcc.gnu.org>
1501 * decl.c (gfc_match_final_decl): Make sure variable names starting with
1502 'final...' are not misinterpreted as FINAL statements.
1504 2010-03-03 Paul Thomas <pault@gcc.gnu.org>
1507 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
1508 allocatable ultimate components do not need temporaries, whilst
1509 ultimate pointer components do.
1511 2010-03-03 Janus Weil <janus@gcc.gnu.org>
1514 * resolve.c (resolve_code): Correctly set gfc_current_ns for
1516 (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
1519 2010-03-02 Paul Thomas <pault@gcc.gnu.org>
1522 * trans-array.c (gfc_conv_array_parameter): A full array of
1523 derived type need not be restricted to a symbol without an
1524 array spec to use the call to gfc_conv_expr_descriptor.
1527 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
1528 allocatable arrays do not need temporaries.
1530 2010-03-01 Tobias Burnus <burnus@net-b.de>
1533 * resolve.c (find_array_spec): Handle REF_COMPONENT with
1536 2010-02-28 Tobias Burnus <burnus@net-b.de>
1539 * trans-expr.c (is_zero_initializer_p): Move up in the file.
1540 (gfc_conv_initializer): Handle zero initializer as special case.
1542 2010-02-27 Tobias Burnus <burnus@net-b.de>
1545 * resolve.c (resolve_fl_variable_derived): Imply SAVE
1546 for module variables for Fortran 2008.
1548 2010-02-25 Jakub Jelinek <jakub@redhat.com>
1551 * trans-common.c (build_common_decl): Also update DECL_MODE,
1552 and DECL_SIZE when encountering a larger common block and call
1555 2010-02-24 Tobias Burnus <burnus@net-b.de>
1558 * trans-expr.c (gfc_conv_initializer): Call directly
1559 gfc_conv_constant for C_NULL_(FUN)PTR.
1561 2010-02-22 Paul Thomas <pault@gcc.gnu.org>
1564 * dependency.c (gfc_full_array_ref_p): Check for contiguous by
1565 checking the rest of the dimensions for elements.
1567 2010-02-21 Tobias Burnus <burnus@net-b.de>
1570 * gfortran.h (gfc_option_t): New flag -fprotect-parens.
1572 * option.c (gfc_init_options,gfc_handle_option): Ditto.
1573 * trans-expr.c (gfc_conv_expr_op): Use the flag.
1574 * invoke.texi: Document new -fno-protect-parens flag.
1576 2010-02-20 Paul Thomas <pault@gcc.gnu.org>
1582 * dependency.c (gfc_check_argument_var_dependency): Use enum
1583 value instead of arithmetic vaue for 'elemental'.
1584 (check_data_pointer_types): New function.
1585 (gfc_check_dependency): Call check_data_pointer_types.
1586 * trans-array.h : Change fourth argument of
1587 gfc_conv_array_parameter to boolean.
1588 * trans-array.c (gfc_conv_array_parameter): A contiguous array
1589 can be a dummy but it must not be assumed shape or deferred.
1590 Change fourth argument to boolean. Array constructor exprs will
1591 always be contiguous and do not need packing and unpacking.
1592 * trans-expr.c (gfc_conv_procedure_call): Clean up some white
1593 space and change fourth argument of gfc_conv_array_parameter
1595 (gfc_trans_arrayfunc_assign): Change fourth argument of
1596 gfc_conv_array_parameter to boolean.
1597 * trans-io.c (gfc_convert_array_to_string): The same.
1598 * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
1600 2010-02-20 Tobias Burnus <burnus@net-b.de>
1603 * libgfortran.h: Add GFC_RTCHECK_MEM.
1604 * invoke.texi (-fcheck=): Document -fcheck=mem.
1605 * tranc.c (gfc_call_malloc): Remove negative-size run-time error
1606 and enable malloc-success check only with -fcheck=mem.
1607 * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
1609 2010-02-16 Tobias Burnus <burnus@net-b.de>
1612 * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
1613 * intrinsic.c (add_functions): Ditto.
1614 * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
1615 * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
1617 2010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1620 * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
1621 gfc_trans_do prototype.
1622 * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
1623 a loop exit condition. If exit condition is given, build the loop exit
1624 code, checking IO results of implied do loops in READ and WRITE.
1625 (gfc_trans_do): Likewise.
1626 * trans.c (trans_code): New static work function, previously
1627 gfc_trans_code. Passes exit condition to gfc_trans_do.
1628 (gfc_trans_code): Calls trans_code with NULL_TREE condition.
1629 (gfc_trans_code_cond): Calls trans_code with loop exit condition.
1630 * trans-io.c (build_dt): Build an exit condition to allow checking IO
1631 result status bits in the dtparm structure. Use this condition in call
1632 to gfc_trans_code_cond.
1634 2010-02-13 Paul Thomas <pault@gcc.gnu.org>
1638 * trans-array.c (gfc_conv_array_parameter): Use
1639 gfc_full_array_ref_p to detect full and contiguous variable
1640 arrays. Full array components and contiguous arrays do not need
1641 internal_pack and internal_unpack.
1643 2010-02-11 Jakub Jelinek <jakub@redhat.com>
1646 * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
1649 * decl.c (enumerator_decl): Don't call gfc_free_enum_history
1651 (gfc_match_enumerator_def): But here whenever enumerator_decl returns
1654 2010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
1655 Tobias Burnus <burnus@net-b.de>
1658 * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
1660 2010-02-10 Tobias Burnus <burnus@net-b.de>
1663 * trans-decl.c (gfc_generate_function_code): Only check
1664 actual-vs.-dummy character bounds if not bind(C).
1666 2010-02-10 Jakub Jelinek <jakub@redhat.com>
1669 * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
1670 info->dimen after info has been freed.
1672 2010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1675 * array.c (gfc_constant_ac): Do not prevent expansion of constructors
1678 2010-02-09 Jakub Jelinek <jakub@redhat.com>
1680 * module.c (fix_mio_expr): Declare sym.
1682 2010-02-09 Paul Thomas <pault@gcc.gnu.org>
1685 * module.c (fix_mio_expr): Fix for private generic procedures.
1687 2010-02-09 Daniel Kraft <d@domob.eu>
1690 * resolve.c (resolve_charlen): Change warning about negative CHARACTER
1691 length to be correct and issue only with -Wsurprising.
1692 * invoke.texi (Wsurprising): Mention this new warning that is
1693 turned on by -Wsurprising.
1695 2010-02-09 Daniel Kraft <d@domob.eu>
1698 * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
1699 can be CHARACTER type.
1700 (MINVAL), (MAXLOC), (MINLOC): Ditto.
1702 2010-02-05 Paul Thomas <pault@gcc.gnu.org>
1705 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
1706 'formal_ptr'. If this is true, give returned descriptor unity
1707 lbounds, in all dimensions, and the appropriate offset.
1708 (gfc_conv_procedure_call); If formal is a pointer, set the last
1709 argument of gfc_conv_subref_array_arg to true.
1710 * trans.h : Add last argument for gfc_conv_subref_array_arg.
1711 * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
1712 new arg of gfc_conv_subref_array_arg to false.
1713 * trans-stmt.c (forall_make_variable_temp): The same.
1715 2010-02-03 Tobias Burnus <burnus@net-b.de>
1718 * interface.c (compare_parameter): Disable rank-checking
1721 2010-02-02 Tobias Burnus <burnus@net-b.de>
1724 * parse.c (decode_specification_statement): Use sym->result not sym.
1726 2010-02-01 Tobias Burnus <burnus@net-b.de>
1729 * decl.c (variable_decl): Allow default initializer in
1730 TYPE declarations in PURE functions.
1732 2010-01-31 Janus Weil <janus@gcc.gnu.org>
1735 * resolve.c (resolve_allocate_expr): Move default initialization code
1736 here from gfc_trans_allocate.
1737 * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
1739 * trans-expr.c (gfc_trans_class_assign): Handle default initialization
1740 of CLASS variables via memcpy.
1741 * trans-stmt.c (gfc_trans_allocate): Move default initialization code
1742 to resolve_allocate_expr.
1744 2010-01-31 Paul Thomas <pault@gcc.gnu.org>
1747 * expr.c (gfc_get_full_arrayspec_from_expr): New function.
1748 * gfortran.h : Add prototype for above.
1749 * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
1750 (gfc_trans_subcomponent_assign): Call new function to replace
1751 the code to deal with allocatable components.
1752 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
1753 gfc_get_full_arrayspec_from_expr to replace existing code.
1755 2010-01-25 Tobias Burnus <burnus@net-b.de>
1758 * array.c (gfc_array_dimen_size): Fix intrinsic procedure
1761 2010-01-24 Paul Thomas <pault@gcc.gnu.org>
1765 * expr.c (remove_subobject_ref): If the constructor is NULL use
1766 the expression as the source.
1767 (simplify_const_ref): Change the type of expression if
1768 there are component references. Allow for substring to be at
1769 the end of an arbitrarily long chain of references. If an
1770 element is found that is not in an EXPR_ARRAY, assume that this
1771 is scalar initialization of array. Call remove_subobject_ref in
1772 this case with NULL second argument.
1774 2010-01-24 Tobias Burnus <burnus@net-b.de>
1777 * array.c (gfc_array_dimen_size): Use correct specific
1778 function in the check.
1780 2010-01-21 Paul Thomas <pault@gcc.gnu.org>
1783 * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
1784 is required, turn any trailing array elements after a range
1785 into ranges so that offsets can be calculated.
1787 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
1789 * module.c (mio_f2k_derived): Use enumerator as initializer of
1793 * gfortran.h (struct gfc_namespace) <resolved>: Change to signed
1794 bitfield of width 2.
1796 2010-01-19 Janus Weil <janus@gcc.gnu.org>
1799 * resolve.c (extract_compcall_passed_object): Set locus for
1800 passed-object argument.
1801 (extract_ppc_passed_object): Set locus and correctly remove PPC
1804 2010-01-19 Paul Thomas <pault@gcc.gnu.org>
1807 * trans-decl.c (add_argument_checking): Do not use the backend
1808 decl directly to test for the presence of an optional dummy
1809 argument. Use gfc_conv_expr_present, remembering to set the
1813 * trans-decl.c (gfc_generate_function_code): Small white space
1814 changes. If 'recurcheckvar' is NULL do not try to reset it.
1816 2010-01-19 Janus Weil <janus@gcc.gnu.org>
1819 * resolve.c (resolve_fl_derived): Set the accessibility of the parent
1820 component for extended types.
1821 * symbol.c (gfc_find_component): Remove a wrongly-worded error message
1822 and take care of parent component accessibility.
1824 2010-01-17 Janus Weil <janus@gcc.gnu.org>
1827 * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
1828 * interface.c (check_interface1): Move a warning message here from
1829 resolve_fl_procedure.
1830 (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
1831 * module.c (read_module): Remove call to gfc_check_interfaces, since
1832 this comes too early here.
1833 * resolve.c (resolve_fl_procedure): Move warning message to
1836 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1839 * interface.c (check_interface1): Pass symbol name rather than NULL to
1840 gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
1842 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
1843 than NULL to gfc_compare_interfaces.
1845 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
1848 * trans-array.c (duplicate_allocatable): Static version of
1849 gfc_duplicate_allocatable with provision to handle scalar
1850 components. New boolean argument to switch off call to malloc
1852 (gfc_duplicate_allocatable): New function to call above with
1854 (gfc_copy_allocatable_data): New function to call above with
1856 (structure_alloc_comps): Do not apply indirect reference to
1857 scalar pointers. Add new section to copy allocatable components
1858 of arrays. Extend copying of allocatable components to include
1860 (gfc_copy_only_alloc_comp): New function to copy allocatable
1861 component derived types, without allocating the base structure.
1862 * trans-array.h : Add primitive for gfc_copy_allocatable_data.
1863 Add primitive for gfc_copy_only_alloc_comp.
1864 * trans-expr.c (gfc_conv_procedure_call): After calls to
1865 transformational functions with results that are derived types
1866 with allocatable components, copy the components in the result.
1867 (gfc_trans_arrayfunc_assign): Deallocate allocatable components
1868 of lhs derived types before allocation.
1870 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
1873 * module.c (load_generic_interfaces): If a procedure that is
1874 use associated but not generic is given an interface that
1875 includes itself, then make it generic.
1877 2010-01-11 Joseph Myers <joseph@codesourcery.com>
1878 Shujing Zhao <pearly.zhao@oracle.com>
1880 PR translation/42469
1881 * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
1882 finit-logical=, finit-real=, fmax-array-constructor=): Use tab
1883 character between option name and help text.
1885 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1889 * trans-array.c (gfc_conv_array_initializer): Change call to
1890 gfc_error_now to call to gfc_fatal_error.
1891 * array.c (count_elements): Whitespace. (extract_element): Whitespace.
1892 (is_constant_element): Changed name from constant_element.
1893 (gfc_constant_ac): Only use expand_construuctor for expression
1894 types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
1895 call gfc_is_constant_expr.
1896 * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
1898 * resolve.c (gfc_is_expandable_expr): New function that determiners if
1899 array expressions should have their constructors expanded.
1900 (gfc_resolve_expr): Use new function to determine whether or not to call
1901 gfc_expand_constructor.
1903 2010-01-09 Tobias Burnus <burnus@net-b.de>
1906 * trans-expr.c (gfc_trans_structure_assign): Handle
1908 * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
1909 to the constructor for c_null_(fun)ptr.
1910 * resolve.c (resolve_structure_cons): Add special case
1911 for c_null_(fun)ptr.
1913 2010-01-09 Jakub Jelinek <jakub@redhat.com>
1915 * gfortranspec.c (lang_specific_driver): Update copyright notice
1918 2010-01-08 Tobias Burnus <burnus@net-b.de>
1921 * symbol.c (check_conflict, gfc_copy_attr): Add
1922 ASYNCHRONOUS support.
1923 (gfc_add_asynchronous): New function.
1924 * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
1925 (gfc_match_asynchronous): New function.
1926 * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
1927 * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
1928 (gfc_add_asynchronous): New Prototype.
1929 * module.c (ab_attribute, mio_symbol_attribute): Add
1930 ASYNCHRONOUS support.
1931 * resolve.c (was_declared): Ditto.
1932 * match.h (gfc_match_asynchronous): New prototype.
1933 * parse.c (decode_specification_statement,decode_statement):
1934 Add ASYNCHRONOUS support.
1936 2010-01-07 Tobias Burnus <burnus@net-b.de>
1939 * trans-decl.c (get_proc_pointer_decl): Fix call to
1940 gfc_conv_initializer for array-valued proc-pointer funcs.
1942 2010-01-07 Tobias Burnus <burnus@net-b.de>
1945 * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
1946 allocatable scalars with SAVE attribute.
1948 2010-01-05 Tobias Burnus <burnus@net-b.de>
1951 * options.c (gfc_post_options): Set -frecursion
1952 when -fopenmp is used.
1954 2010-01-05 Tobias Burnus <burnus@net-b.de>
1957 * trans-expr.c (gfc_conv_procedure_call): Nullify
1958 return value for allocatable-scalar character functions.
1960 2010-01-04 Tobias Burnus <burnus@net-b.de>
1963 * error.c (error_printf, gfc_warning, gfc_notify_std,
1964 gfc_warning_now, gfc_error, gfc_error_now,
1965 gfc_fatal_error): Change argument name from nocmsgid to
1966 gmsgid to enable (x)gettext's % checking.
1968 2010-01-04 Tobias Burnus <burnus@net-b.de>
1970 * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
1972 2010-01-04 Tobias Burnus <burnus@net-b.de>
1975 * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
1976 for functions returning allocatable scalars.
1977 * trans-stmt.c (gfc_trans_allocate): Emmit error when
1978 reallocating an allocatable scalar.
1979 * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
1981 * trans-decl.c (gfc_trans_deferred_vars): Nullify local
1982 allocatable scalars.
1983 (gfc_generate_function_code): Nullify result variable for
1984 allocatable scalars.
1987 * module.c (gfc_use_module): Fix warning string to allow
1991 * invoke.texi (-fcheck=recursion): Mention that the checking
1992 is also disabled for -frecursive.
1993 * trans-decl.c (gfc_generate_function_code): Disable
1994 -fcheck=recursion when -frecursive is used.
1996 * intrinsic.texi (iso_c_binding): Improve wording.
1999 Copyright (C) 2010 Free Software Foundation, Inc.
2001 Copying and distribution of this file, with or without modification,
2002 are permitted in any medium without royalty provided the copyright
2003 notice and this notice are preserved.