1 2011-06-17 Tobias Burnus
4 * trans-expr.c (gfc_trans_assignment_1): Tell
5 gfc_trans_scalar_assign to also deep-copy RHS nonvariables
6 with allocatable components.
7 * trans-array.c (gfc_conv_expr_descriptor): Ditto.
9 2011-06-06 Asher Langton <langton2@llnl.gov>
12 * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
13 pointees as AS_EXPLICIT.
15 2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
18 * decl.c (gfc_match_modproc): Allow for a double colon in a module
20 * parse.c ( decode_statement): Deal with whitespace around :: in
23 2011-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
27 * interface.c (gfc_equivalent_op): New function.
28 (gfc_check_interface): Use gfc_equivalent_op instead
30 * decl.c (access_attr_decl): Also set access to an
33 2011-05-26 Paul Thomas <pault@gcc.gnu.org>
34 Thomas Koenig <tkoenig@gcc.gnu.org>
37 * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
38 changed to GFC_ENABLE_REVERSE.
39 * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
40 to GFC_INHIBIT_REVERSE.
41 * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
42 GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
43 * dependency.c (gfc_dep_resolver): Change names for elements of
44 gfc_reverse as necessary. Change the logic so that forward
45 dependences are remembered as well as backward ones. When both
46 have appeared, force a temporary.
48 2011-05-11 Tobias Burnus <burnus@net-b.de>
51 * expr.c (gfc_is_constant_expr): Use e->value.function.esym
52 instead of e->symtree->n.sym, if available.
54 2011-05-04 Steven G. Kargl <kargl@gcc.gnu.org>
57 * gfortran.texi: Document the 'Q' exponent-letter extension.
58 * invoke.texi: Document -Wreal-q-constant.
59 * lang.opt: Add -Wreal-q-constant option.
60 * gfortran.h: Add warn_real_q_constant to option struct.
61 * primary.c (match_real_constant): Use it. Accept 'Q' as
62 exponent-letter for REAL(16) real-literal-constant with a
63 fallback to REAL(10) or error if REAL(10) is not available.
64 * options.c (gfc_init_options, set_Wall) Set it.
65 (gfc_handle_option): Handle new option.
67 2011-04-30 Paul Thomas <pault@gcc.gnu.org>
71 * trans-expr.c ( arrayfunc_assign_needs_temporary): Need a temp
72 if automatic reallocation on assignement is active, the lhs is a
73 target and the rhs an intrinsic function.
74 (realloc_lhs_bounds_for_intrinsic_call): Rename as next.
75 (fcncall_realloc_result): Renamed version of above function.
76 Free the original descriptor data after the function call.Set the bounds and the
77 offset so that the lbounds are one.
78 (gfc_trans_arrayfunc_assign): Call renamed function.
80 2011-04-29 Tobias Burnus <burnus@net-b.de>
83 * resolve.c (resolve_typebound_generic_call): Don't check access
84 flags of the specific function.
87 * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
88 to AS_ASSUMED_SHAPE for function results.
89 (resolve_fl_var_and_proc): Print also for function results with
90 AS_DEFERRED an error, if they are not a pointer or allocatable.
91 (resolve_types): Make sure arguments of procedures in interface
94 2011-04-28 Tobias Burnus <burnus@net-b.de>
97 * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
98 function results only once.
99 (resolve_symbol): Always resolve function results.
102 * expr.c (gfc_check_vardef_context): Fix handling of generic
104 * interface.c (check_interface0): Reject internal functions
105 in generic interfaces, unless -std=gnu.
107 2011-04-28 Tobias Burnus <burnus@net-b.de>
110 * resolve.c (resolve_global_procedure): Error recovery -
111 avoid segfault for (non)character-returning functions.
113 2011-04-26 Tobias Burnus <burnus@net-b.de>
116 * parse.c (resolve_all_program_units): Skip modules.
117 (translate_all_program_units): Handle modules.
118 (gfc_parse_file): Defer code generation for modules.
119 * module.c (fix_mio_expr): Commit created symbol.
121 2011-04-13 Paul Thomas <pault@gcc.gnu.org>
125 * trans-array.c (get_std_lbound): For derived type variables
126 return array valued component lbound.
128 2011-04-05 Duncan Sands <baldrick@free.fr>
130 * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
132 2011-04-04 Janus Weil <janus@gcc.gnu.org>
135 * class.c (get_unique_hashed_string): Adjust maximum allowable length
136 for unique type string.
138 2011-03-25 Release Manager
140 * GCC 4.6.0 released.
142 2011-03-12 Janus Weil <janus@gcc.gnu.org>
145 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
146 for polymorphic arguments.
148 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
151 * intrinsic.texi: Clarify doc of logarithm functions.
153 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
156 * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
157 the string length variable.
159 2011-03-11 Janus Weil <janus@gcc.gnu.org>
162 * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
163 (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
165 2011-03-06 Paul Thomas <pault@gcc.gnu.org>
166 Jerry DeLisle <jvdelisle@gcc.gnu.org>
169 * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
170 the expression has an iterator. Otherwise, iterate through the
171 array, checking for constant expressions for each element.
173 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
176 * intrinsic.texi: Update CTIME and FDATE documentation.
178 2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
180 * invoke.texi (Option Summary, Fortran Dialect Options)
181 (Preprocessing Options, Runtime Options, Code Gen Options):
182 Fix vertical list spacing by using @itemx for additinoal
183 items, empty line before @table. Fix typos.
185 2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
188 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
190 2011-02-26 Tobias Burnus <burnus@net-b.de>
193 * trans-stmt.c (gfc_trans_allocate): Fix allocation with
194 type-spec of deferred-length strings.
196 2011-02-26 Tobias Burnus <burnus@net-b.de>
199 * openmp.c (gfc_resolve_omp_directive): Resolve if()
200 condition of OpenMP's task.
202 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
205 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
207 2011-02-24 Tobias Burnus <burnus@net-b.de>
210 * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
211 multitable for linebreak between different syntax variants.
213 2011-02-24 Richard Guenther <rguenther@suse.de>
216 * f95-lang.c (pushdecl): For externs in non-global scope push
217 a copy of the decl into the BLOCK.
219 2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
222 * trans.c (gfc_prepend_expr_to_block): New function.
223 * trans.h (gfc_prepend_expr_to_block): Declare.
224 * trans-array.c (gfc_conv_array_parameter): Replace
225 gfc_add_expr_to_block with gfc_prepend_expr_to_block.
227 2011-02-22 Paul Thomas <pault@gcc.gnu.org>
230 * trans-decl.c (gfc_get_extern_function_decl): Don't use the
231 gsymbol backend_decl if the procedure has a formal argument
234 2011-02-22 Tobias Burnus <burnus@net-b.de>
237 * trans-stmt.c (gfc_trans_if_1): Use correct line for
238 expressions in the if condition.
240 2011-02-20 Tobias Burnus <burnus@net-b.de>
243 * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
244 gfc_restore_backend_locus to have better debug locations.
245 * trans-array.c (gfc_trans_deferred_array): Ditto.
247 2011-02-20 Paul Thomas <pault@gcc.gnu.org>
251 * trans-types.c (gfc_get_derived_type): Remove code that looks
252 for decls in gsym and add call to gfc_get_module_backend_decl.
253 * trans.h : Add prototype for gfc_get_module_backend_decl.
254 * trans-decl.c (gfc_get_module_backend_decl): New function.
255 (gfc_get_symbol_decl): Call it.
257 2011-02-19 Paul Thomas <pault@gcc.gnu.org>
260 * trans-array.c (get_array_ctor_all_strlen): Move up in file.
261 (get_array_ctor_var_strlen): Add block dummy and add call to
262 get_array_ctor_all_strlen instead of giving up on substrings.
263 Call gcc_unreachable for default case.
264 (get_array_ctor_strlen): Add extra argument to in call to
265 get_array_ctor_var_strlen.
267 2011-02-18 Janus Weil <janus@gcc.gnu.org>
270 * primary.c (gfc_match_structure_constructor): Handle empty parent
273 2011-02-18 Tobias Burnus
276 * trans-expr.c (arrayfunc_assign_needs_temporary): Use
277 esym to check whether the specific procedure returns an
278 allocatable or pointer.
280 2011-02-18 Michael Matz <matz@suse.de>
283 * gfortran.h (struct gfc_component): Add norestrict_decl member.
284 * trans.h (struct lang_type): Add nonrestricted_type member.
285 * trans-expr.c (gfc_conv_component_ref): Search fields with correct
287 * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
288 (gfc_sym_type): Use it.
290 2011-02-18 Janus Weil <janus@gcc.gnu.org>
293 * resolve.c (resolve_transfer): Reject variables with procedure pointer
296 2011-02-18 Janus Weil <janus@gcc.gnu.org>
299 * gfortran.h (gfc_check_access): Removed prototype.
300 (gfc_check_symbol_access): Added prototype.
301 * module.c (gfc_check_access): Renamed to 'check_access', made static.
302 (gfc_check_symbol_access): New function, basically a shortcut for
304 (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
305 'gfc_check_symbol_access'.
306 (write_operator,write_module): Renamed 'gfc_check_access'.
307 * resolve.c (resolve_fl_procedure,resolve_fl_derived,
308 resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
309 'gfc_check_symbol_access'.
311 2011-02-16 Janus Weil <janus@gcc.gnu.org>
314 * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
315 * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
316 'gfc_build_class_symbol'.
317 (gfc_match_decl_type_spec): Reject unlimited polymorphism.
318 * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
319 * match.c (select_type_set_tmp): Move setting of 'class_ok' into
320 'gfc_build_class_symbol'.
321 * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
323 2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>
326 . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
328 2011-02-14 Janus Weil <janus@gcc.gnu.org>
331 * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
333 2011-02-14 Janus Weil <janus@gcc.gnu.org>
336 * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
338 * primary.c (gfc_match_varspec): Avoid ICE for invalid class
341 2011-02-14 Janus Weil <janus@gcc.gnu.org>
344 * interface.c (get_expr_storage_size): Handle derived-type components.
346 2011-02-13 Tobias Burnus <burnus@net-b.de>
349 * interface.c (compare_parameter): Avoid ICE with
350 character components.
352 2011-02-12 Janus Weil <janus@gcc.gnu.org>
354 * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
355 * decl.c (build_sym,build_struct,attr_decl1): Use return value of
356 'gfc_build_class_symbol'.
358 2011-02-12 Michael Matz <matz@suse.de>
359 Janus Weil <janus@gcc.gnu.org>
360 Tobias Burnus <burnus@net-b.de>
363 * trans-expr.c (conv_parent_component_references): Avoid unintendent
364 skipping of parent compounds.
366 2011-02-11 Tobias Burnus <burnus@net-b.de>
369 * resolve.c (resolve_formal_arglist): PURE with VALUE
370 and no INTENT: Add -std= diagnostics.
372 2011-02-09 Janus Weil <janus@gcc.gnu.org>
375 * resolve.c (resolve_procedure_interface): If interface has a result
376 variable, copy the typespec and set result pointer to self.
378 2011-02-09 Janus Weil <janus@gcc.gnu.org>
381 * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
383 2011-02-09 Janus Weil <janus@gcc.gnu.org>
386 * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
388 2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
390 * io.c (match_io_element): Do not set dt if not inquire.
392 2011-02-08 Janus Weil <janus@gcc.gnu.org>
395 * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
396 initialization target.
398 2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
399 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
401 * gfortran.texi (Thread-safety): texinfo styling fixes.
402 * intrinsic.texi: Likewise.
404 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
406 * gfortran.texi (Compiler Characteristics): Add reference to
407 thread-safety section.
409 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
411 * gfortran.texi (Thread-safety): New section.
412 * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
414 (GET_ENVIRONMENT_VARIABLE): Likewise.
417 2011-02-06 Paul Thomas <pault@gcc.gnu.org>
420 * trans-stmt.c (gfc_trans_allocate): For deferred character
421 length allocations with SOURCE, store to the values and string
422 length to avoid calculating twice. Replace gfc_start_block
423 with gfc_init_block to avoid unnecessary contexts and to keep
424 declarations of temporaries where they should be. Tidy up the
427 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
430 * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
432 2011-02-02 Janus Weil <janus@gcc.gnu.org>
433 Paul Thomas <pault@gcc.gnu.org>
436 * trans-expr.c (gfc_trans_class_init_assign): Add call to
437 gfc_get_derived_type.
438 * module.c (read_cleanup): Do not use unique_symtrees for vtabs
441 2011-02-02 Janus Weil <janus@gcc.gnu.org>
444 * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
446 2011-02-01 Janus Weil <janus@gcc.gnu.org>
449 * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
450 pointer components with allocatable result.
452 2011-01-31 Janus Weil <janus@gcc.gnu.org>
455 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
456 with pointer or allocatable result.
458 2011-01-31 Paul Thomas <pault@gcc.gnu.org>
461 * trans-stmt.c (gfc_trans_allocate): Improve handling of
462 deferred character lengths with SOURCE.
463 * iresolve.c (gfc_resolve_repeat): Calculate character
464 length from source length and ncopies.
465 * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
466 expressions for ALLOCATE.
468 2011-01-31 Janus Weil <janus@gcc.gnu.org>
471 * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
472 an argument of a typebound assignment being a component.
474 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
476 * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
477 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
479 2011-01-31 Tobias Burnus <burnus@net-b.de>
482 * resolve.c (resolve_fl_procedure): Reject stmt functions
483 with pointer/allocatable attribute.
485 2011-01-31 Tobias Burnus <burnus@net-b.de>
488 * interface.c (gfc_procedure_use): Add explicit interface check for
489 pointer/allocatable functions.
491 2011-01-30 Paul Thomas <pault@gcc.gnu.org>
494 * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
495 expr and is assigned to a deferred character length scalar,
496 make sure that the function is called before reallocation,
497 so that the length is available. Include procedure pointer
498 and procedure pointer component rhs as well.
503 * gfortran.dg/allocatable_function_5.f90: New test not added by
504 mistake on 2011-01-28.
506 2011-01-29 Tobias Burnus <burnus@net-b.de>
509 * check.c (gfc_check_shape): Support kind argument in SHAPE.
510 * intrinsic.c (add_functions): Ditto.
511 * resolve.c (gfc_resolve_shape): Ditto.
512 * simplify.c (gfc_simplify_shape): Ditto.
513 * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
514 gfc_simplify_shape): Update prototypes.
515 * intrinisc.text (SHAPE): Document kind argument.
517 2011-01-28 Tobias Burnus <burnus@net-b.de>
520 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
521 attribute also without INTENT.
523 2011-01-28 Tobias Burnus <burnus@net-b.de>
525 * gfortran.texi (Fortran 2003 status): Mention support for
526 nonconstant namelist variables.
528 2011-01-28 Paul Thomas <pault@gcc.gnu.org>
529 Tobias Burnus <burnus@gcc.gnu.org>
534 * interface.c (compare_actual_formal): An allocatable or pointer
535 deferred length actual is only allowed if the formal argument
536 is also deferred length. Clean up whitespace.
537 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
538 deferred character length formal arguments by reference. Do the
539 same for function results.
540 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
541 and rhs character lengths, if deferred length lhs. In this case
542 set the lhs character length to that of the rhs.
543 (gfc_conv_string_parameter): Remove assert that string length is
545 (is_scalar_reallocatable_lhs): New function.
546 (alloc_scalar_allocatable_for_assignment): New function.
547 (gfc_trans_assignment_1): Call above new function. If the rhs is
548 a deferred character length itself, makes ure that the function
549 is called before reallocation, so that the length is available.
550 (gfc_trans_asssignment): Remove error about assignment to
551 deferred length character variables.
552 * gfortran.texi : Update entry about (re)allocation on
554 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
555 length character variables.
556 * module.c (mio_typespec): Transfer deferred characteristic.
557 * trans-types.c (gfc_get_function_type): New code to generate
558 hidden typelist, so that those character lengths that are
559 passed by reference get the right type.
560 * resolve.c (resolve_contained_fntype): Supress error for
561 deferred character length functions.
562 (resolve_function, resolve_fl_procedure) The same.
563 (check_symbols): Remove the error that support for
564 entity with deferred type parameter is not yet implemented.
565 (resolve_fl_derived): The same.
566 match.c (alloc_opt_list): Allow MOLD for deferred length object.
567 * trans-decl.c (gfc_get_symbol_decl): For deferred character
568 length dummies, generate a local variable for string length.
569 (create_function_arglist): Hidden length can be a pointer.
570 (gfc_trans_deferred_vars): For deferred character length
571 results and dummies, assign the string length to the local
572 variable from the hidden argument on entry and the other way
573 round on exit, as appropriate.
575 2011-01-27 Tobias Burnus <burnus@net-b.de>
578 * trans-decl.c (gfc_generate_function_code): Fix init
579 of allocatable result variable with allocatable components.
581 2011-01-27 Tobias Burnus <burnus@net-b.de>
584 * options.c (gfc_handle_module_path_options): Save
585 module path without trailing slash as include path.
587 2011-01-25 Tobias Burnus <burnus@net-b.de>
590 * interface.c (gfc_check_operator_interface): Fix
591 defined-assignment check.
593 2011-01-23 Tobias Burnus <burnus@net-b.de>
596 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
597 scalar allocatable dummy arguments.
599 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
602 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
603 check for array sections followed by component references
604 which are illegal. Also check for coindexed arguments.
606 2011-01-22 Tobias Burnus <burnus@net-b.de>
609 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
612 2011-01-21 Tobias Burnus <burnus@net-b.de>
615 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
616 Use defined instead of magic number exit status codes.
617 * scanner.c (include_line, gfc_new_file): Ditto.
619 2011-01-21 Tobias Burnus <burnus@net-b.de>
622 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
623 without pointer attribute.
625 2011-01-18 Janus Weil <janus@gcc.gnu.org>
628 * resolve.c (expression_rank): Fix rank of procedure poiner components.
629 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
630 pointer components as actual arguments.
632 2011-01-17 Jakub Jelinek <jakub@redhat.com>
635 * gfortran.h (struct gfc_omp_saved_state): New type.
636 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
637 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
639 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
642 2011-01-17 Tobias Burnus <burnus@net-b.de>
645 * invoke.texi (Options to request or suppress errors
646 and warnings): Fix cross link.
648 2011-01-15 Tobias Burnus <burnus@net-b.de>
650 * gfortran.texi: Update Fortran 2003 Status section.
653 * invoke.texi: Add missing "-E" to the -dM example.
655 2011-01-13 Tobias Burnus <burnus@net-b.de>
658 * intrinsic.texi (get_command_argument, get_environment_variable):
659 Mark arguments as optional in the Arguments section.
661 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
662 Tobias Burnus <burnus@net-b.de>
665 * trans-decl.c (gfc_get_extern_function_decl,
666 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
667 calling decl_attributes.
669 2011-01-13 Tobias Burnus <burnus@net-b.de>
670 Mikael Morin <mikael@gcc.gnu.org>
674 * gfortran.h (gfc_code): Move union ext's case_list into
676 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
678 * frontend-passes.c (gfc_code_walker): Ditto.
679 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
680 gfc_match_type_is, gfc_match_class_is): Ditto.
681 * resolve.c (resolve_select, resolve_select_type): Ditto.
682 * st.c (gfc_free_statement): Ditto.
683 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
684 gfc_trans_character_select): Ditto.
685 * parse.c (resolve_all_program_units): For error recovery, avoid
686 segfault is proc_name is NULL.
688 2011-01-11 Paul Thomas <pault@gcc.gnu.org>
691 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
692 to be standard compliant by testing for shape rather than size
693 before skipping reallocation. Improve comments.
695 2011-01-09 Janus Weil <janus@gcc.gnu.org>
698 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
701 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
704 * resolve.c (is_scalar_expr_ptr): For a substring reference,
705 use gfc_dep_compare_expr to compare start and end expession.
706 Add FIXME for using gfc_deb_compare_expr elsewhere.
708 2011-01-09 Janus Weil <janus@gcc.gnu.org>
711 * class.c (get_unique_type_string): Make type name start with upper
714 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
717 * invoke.texi: Mention -ffree-line-length-none and
718 -ffixed-line-length-none for preprocessing.
720 2011-01-08 Paul Thomas <pault@gcc.gnu.org>
723 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
724 procedure argument (eg TRANSPOSE) use a temporary if there is
725 any chance of aliasing due to host or use association.
726 (arrayfunc_assign_needs_temporary): Correct logic for function
727 results and do not use a temporary for implicitly PURE
728 variables. Use a temporary for Cray pointees.
729 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
730 implicit pureness of containing procedure.
731 * decl.c (match_old_style_init, gfc_match_data): Where decl
732 would fail in PURE procedure, set implicit_pure to zero.
733 * gfortran.h : Add implicit_pure to structure symbol_attr and
734 add prototype for function gfc_implicit_pure.
735 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
736 Where decl would fail in PURE procedure, reset implicit_pure.
737 * io.c (match_vtag, gfc_match_open, gfc_match_close,
738 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
739 * match.c (gfc_match_critical, gfc_match_stopcode,
740 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
742 * parse.c (decode_omp_directive): The same.
743 (parse_contained): If not PURE, set implicit pure attribute.
744 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
745 resolve_function, resolve_ordinary_assign) : The same.
746 (gfc_implicit_pure): New function.
747 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
748 to ab_attribute enum and use it in this function.
750 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
753 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
754 make static and move in front of its only caller, to ...
755 * trans-array.c (symbols_could_alias): ... here.
756 Pass information about pointer and target status as
757 arguments. Allocatable arrays don't alias anything
758 unless they have the POINTER attribute.
759 (gfc_could_be_alias): Keep track of pointer and target
760 status when following references. Also check if typespecs
761 of components match those of other components or symbols.
763 2011-01-07 Tobias Burnus <burnus@net-b.de>
766 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
767 * intrinsic.c (add_functions): Use simplify functions for
768 EXTENDS_TYPE_OF and SAME_TYPE_AS.
769 * intrinsic.h (gfc_simplify_extends_type_of,
770 gfc_simplify_same_type_as): New prototypes.
771 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
772 gfc_simplify_same_type_as): New functions.
774 2011-01-07 Janus Weil <janus@gcc.gnu.org>
778 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
779 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
781 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
782 * resolve.c (resolve_deallocate_expr): _data component will be added
783 at translation stage.
784 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
785 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
787 2011-01-06 Daniel Franke <franke.daniel@gmail.com>
791 * parse.c (parse_interface): Remove check for procedure types.
792 * interface.c (check_interface0): Verify that procedures are
793 either all SUBROUTINEs or all FUNCTIONs.
795 2011-01-05 Janus Weil <janus@gcc.gnu.org>
798 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
799 'vtab' is initialized).
801 2011-01-05 Janus Weil <janus@gcc.gnu.org>
804 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
805 assignment, set the _vptr component to the declared type.
807 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
810 * resolve.c (resolve_allocate_deallocate): Follow references to
811 check for duplicate occurence of allocation/deallocation objects.
813 2011-01-05 Janus Weil <janus@gcc.gnu.org>
816 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
817 of polymorphic allocatables according to their declared type.
819 2011-01-04 Janus Weil <janus@gcc.gnu.org>
822 * class.c (gfc_find_derived_vtab): Set the module field for the copying
823 routine to make sure it receives module name mangling.
825 2011-01-03 Jakub Jelinek <jakub@redhat.com>
827 * gfortranspec.c (lang_specific_driver): Update copyright notice
830 2011-01-03 Janus Weil <janus@gcc.gnu.org>
832 * intrinsic.texi (LEADZ): Fix example.
834 2011-01-02 Janus Weil <janus@gcc.gnu.org>
837 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
841 Copyright (C) 2011 Free Software Foundation, Inc.
843 Copying and distribution of this file, with or without modification,
844 are permitted in any medium without royalty provided the copyright
845 notice and this notice are preserved.