1 2011-07-04 Jakub Jelinek <jakub@redhat.com>
4 * gfortranspec.c (lang_specific_driver): Ignore options with
5 CL_ERR_MISSING_ARG errors.
7 2011-07-02 Janus Weil <janus@gcc.gnu.org>
10 * expr.c (gfc_check_vardef_context): Handle type-bound procedures.
12 2011-06-30 Jakub Jelinek <jakub@redhat.com>
15 * gfortran.h (gfc_constructor): Add repeat field.
16 * trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
17 * array.c (current_expand): Add repeat field.
18 (expand_constructor): Copy repeat.
19 * constructor.c (node_free, node_copy, gfc_constructor_get,
20 gfc_constructor_lookup): Handle repeat field.
21 (gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
22 * data.h (gfc_assign_data_value): Add mpz_t * argument.
23 (gfc_assign_data_value_range): Removed.
24 * constructor.h (gfc_constructor_advance): Removed.
25 (gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
26 * data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
27 also handle overwriting a range with a single entry.
28 (gfc_assign_data_value_range): Removed.
29 * resolve.c (check_data_variable): Adjust gfc_assign_data_value
30 call. Use gfc_assign_data_value instead of
31 gfc_assign_data_value_expr.
33 2011-06-27 Janus Weil <janus@gcc.gnu.org>
36 * trans-array.c (structure_alloc_comps): Make sure sub-components
37 and extended types are correctly deallocated.
39 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
41 * trans-openmp.c: Add sync_ or SYNC__ to builtin names.
42 * trans-stmt.c: Add sync_ or SYNC__ to builtin names.
43 * trans-decl.c: Add sync_ or SYNC__ to builtin names.
45 2011-06-21 Janus Weil <janus@gcc.gnu.org>
48 * class.c (gfc_find_derived_vtab): Make vtab and default initialization
49 symbols SAVE_IMPLICIT.
51 2011-06-20 Tobias Burnus <burnus@net-b.de>
54 * gfortran.h (gfc_check_vardef_context): Update prototype.
55 (iso_fortran_env_symbol): Handle derived types.
56 (symbol_attribute): Add lock_comp.
57 * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
58 * interface.c (compare_parameter, gfc_procedure_use): Handle
60 (compare_actual_formal): Update
61 gfc_check_vardef_context call.
62 * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
63 * intrinsic.c (check_arglist): Ditto.
64 * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
65 * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
66 * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
67 * module.c (mio_symbol_attribute): Handle lock_comp.
68 (create_derived_type): New function.
69 (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
70 * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
71 * resolve.c (resolve_symbol, resolve_lock_unlock): Add constraint
73 (gfc_resolve_iterator, resolve_deallocate_expr,
74 resolve_allocate_expr, resolve_code, resolve_transfer): Update
75 gfc_check_vardef_context call.
76 * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
77 * trans-stmt.c (gfc_trans_lock_unlock): New function.
78 * trans.c (trans_code): Handle LOCK and UNLOCK.
80 2011-06-18 Janus Weil <janus@gcc.gnu.org>
83 * decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
86 2011-06-17 Janus Weil <janus@gcc.gnu.org>
89 * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
90 make sure the vtab is present.
92 2011-06-16 Janus Weil <janus@gcc.gnu.org>
95 * interface.c (gfc_extend_assign): Propagate the locus from the
96 assignment to the type-bound procedure call.
98 2011-06-16 Janus Weil <janus@gcc.gnu.org>
101 * module.c (mio_component): Make sure the 'class_ok' attribute is set
102 for use-associated CLASS components.
103 * parse.c (parse_derived): Check for 'class_ok' attribute.
104 * resolve.c (resolve_fl_derived): Ditto.
106 2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
108 * frontend-passes.c (remove_trim): New function.
109 (optimize_assignment): Use it.
110 (optimize_comparison): Likewise. Return correct status
113 2011-06-12 Tobias Burnus
116 * trans-expr.c (gfc_trans_assignment_1): Tell
117 gfc_trans_scalar_assign to also deep-copy RHS nonvariables
118 with allocatable components.
119 * trans-array.c (gfc_conv_expr_descriptor): Ditto.
121 2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
123 * frontend-passes.c (optimize_assignment): Follow chains
124 of concatenation operators to the end for removing trailing
125 TRIMS for assignments.
127 2011-06-10 Daniel Carrera <dcarrera@gmail.com>
129 * trans-decl.c (gfc_build_builtin_function_decls):
130 Updated declaration of caf_sync_all and caf_sync_images.
131 * trans-stmt.c (gfc_trans_sync): Function
132 can now handle a "stat" variable that has an integer type
133 different from integer_type_node.
135 2011-06-09 Richard Guenther <rguenther@suse.de>
137 * trans.c (gfc_allocate_array_with_status): Mark error path
140 2011-06-08 Tobias Burnus <burnus@net-b.de>
143 * gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK.
144 (gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK.
145 (gfc_code): Add expr4.
146 * match.h (gfc_match_lock, gfc_match_unlock): New prototypes.
147 * match.c (gfc_match_lock, gfc_match_unlock,
148 lock_unlock_statement): New functions.
149 (sync_statement): Bug fix, avoiding double freeing.
150 (gfc_match_if): Handle LOCK/UNLOCK statement.
151 * parse.c (decode_statement, next_statement,
152 gfc_ascii_statement): Ditto.
153 * st.c (gfc_free_statement): Handle LOCK and UNLOCK.
154 * resolve.c (resolve_lock_unlock): New function.
155 (resolve_code): Call it.
156 * dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK.
158 2011-06-07 Richard Guenther <rguenther@suse.de>
160 * f95-lang.c (gfc_init_decl_processing): Do not set
161 size_type_node or call set_sizetype.
163 2011-06-05 Tobias Burnus <burnus@net-b.de>
166 * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
169 2011-06-05 Andreas Schmidt <andreas.schmidt.42@gmx.net>
170 Thomas Koenig <tkoenig@gcc.gnu.org>
172 * dump-parse-tree.c (show_symbol): Don't dump namespace
173 for ENTRY to avoid infinite recursion.
175 2011-06-02 Asher Langton <langton2@llnl.gov>
178 * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
179 pointees as AS_EXPLICIT.
181 2011-06-02 Asher Langton <langton2@llnl.gov>
184 * decl.c (variable_decl): Merge current_as before copying to cp_as.
186 2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
189 * decl.c (gfc_match_modproc): Allow for a double colon in a module
191 * parse.c ( decode_statement): Deal with whitespace around :: in
194 2011-05-31 Tobias Burnus <burnus@net-b.de>
197 * intrinsic.c (klass): Add CLASS_ATOMIC.
198 (add_subroutines): Add atomic_ref/atomic_define.
199 * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.
200 * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,
201 gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.
202 * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF
203 and GFC_ISYM_ATOMIC_REF.
204 (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.
205 * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New
207 * check.c (gfc_check_atomic, gfc_check_atomic_def,
208 gfc_check_atomic_ref): New functions.
209 * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,
210 ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.
211 * trans-intrinsic.c (conv_intrinsic_atomic_def,
212 conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New
214 (conv_intrinsic_move_alloc) Renamed from
215 gfc_conv_intrinsic_move_alloc - and made static.
216 * trans.h (gfc_conv_intrinsic_move_alloc): Remove.
217 (gfc_conv_intrinsic_subroutine) Add prototype.
218 * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.
219 * trans-types (gfc_atomic_int_kind, gfc_atomic_logical_kind): New
221 (gfc_init_kinds): Set them.
223 2011-05-31 Tobias Burnus <burnus@net-b.de>
226 * trans-array.c (gfc_trans_dummy_array_bias): Handle
227 cobounds of assumed-shape arrays.
229 2011-05-31 Tobias Burnus <burnus@net-b.de>
232 * resolve.c (resolve_fl_variable): Handle static coarrays
233 with non-constant cobounds.
235 2011-05-29 Janus Weil <janus@gcc.gnu.org>
238 * module.c (mio_component_ref): Handle components of extended types.
239 * symbol.c (gfc_find_component): Return is sym is NULL.
241 2011-05-29 Tobias Burnus <burnus@net-b.de>
244 * interface.c (compare_parameter): Add check for passing coarray
245 to allocatable noncoarray dummy.
247 2011-05-29 Tobias Burnus <burnus@net-b.de>
248 Richard Guenther <rguenther@suse.de>
251 * trans-types.c (gfc_get_nodesc_array_type): Don't mess with
252 the type's TREE_TYPE.
253 * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.
254 * trans.c (gfc_build_array_ref): Ditto.
256 2011-05-27 Tobias Burnus <burnus@net-b.de>
259 * check.c (gfc_check_associated, gfc_check_null): Add coindexed check.
260 * match.c (gfc_match_nullify): Ditto.
261 * resolve.c (resolve_deallocate_expr): Ditto.
262 * trans-types.c (gfc_get_nodesc_array_type): Don't set restricted
265 2011-05-27 Tobias Burnus <burnus@net-b.de>
268 * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
269 * intrinsic.c (add_functions): Add rank intrinsic.
270 (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
271 * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes.
272 * simplify.c (gfc_simplify_rank): New function.
273 * intrinsic.texi (RANK): Add description for rank intrinsic.
274 * check.c (gfc_check_rank): New function.
276 2011-05-26 Paul Thomas <pault@gcc.gnu.org>
277 Thomas Koenig <tkoenig@gcc.gnu.org>
280 * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
281 changed to GFC_ENABLE_REVERSE.
282 * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
283 to GFC_INHIBIT_REVERSE.
284 * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
285 GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
286 * dependency.c (gfc_dep_resolver): Change names for elements of
287 gfc_reverse as necessary. Change the logic so that forward
288 dependences are remembered as well as backward ones. When both
289 have appeared, force a temporary.
291 2011-05-26 Tobias Burnus <burnus@net-b.de>
294 * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
295 * trans-decl.c (has_coarray_vars, caf_init_block,
296 gfor_fndecl_caf_register): New file-global variables.
297 (gfc_finish_var_decl): Make sure that coarrays in main are static.
298 (gfc_build_qualified_array): Generate coarray token variable.
299 (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
300 (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
301 (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
303 (generate_local_decl): Check for local coarrays.
304 (create_main_function): SYNC ALL before calling MAIN.
305 (generate_coarray_sym_init): Register static coarray.
306 (generate_coarray_init): Generate CAF registering constructor
308 (gfc_generate_function_code): Call it, if needed, do not create
310 (gfc_generate_module_vars, gfc_process_block_locals): Call
311 generate_coarray_init.
312 * trans-types.c (gfc_get_nodesc_array_type): Generate pointers for
314 * trans.h (gfor_fndecl_caf_register): New variable.
315 (lang_type): New element caf_token.
316 (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
318 2011-05-24 Joseph Myers <joseph@codesourcery.com>
320 * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
321 (gfortran$(exeext)): Use libcommon-target.a.
323 2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
325 * frontend-passes.c (cfe_register_funcs): Also register
326 character functions if their charlens are known and constant.
327 Also register allocatable functions.
329 2011-05-21 Janus Weil <janus@gcc.gnu.org>
332 * match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
333 selector is ALLOCATABLE.
335 2011-05-20 Janus Weil <janus@gcc.gnu.org>
338 * module.c (write_dt_extensions): Do not write extended types which
339 are local to a subroutine.
341 2011-05-20 Joseph Myers <joseph@codesourcery.com>
343 * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.
345 2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
347 * gfortran.texi (set_fpe): Update documentation.
348 * invoke.texi (-ffpe-trap): Likewise.
349 * libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT.
350 * options.c (gfc_handle_fpe_trap_option): Handle inexact and make
351 precision an alias for it.
353 2011-05-19 Tobias Burnus <burnus@net-b.de>
356 * trans-types.c (gfc_get_element_type): Handle scalar coarrays.
357 (gfc_get_nodesc_array_type): Make a variant-type copy for scalar
359 * trans.c (gfc_build_array_ref): Return original type not variant
360 copy for scalar coarrays.
361 * trans-array.c (gfc_conv_array_ref): Ditto.
363 2011-05-18 Janus Weil <janus@gcc.gnu.org>
366 * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'
367 argument to avoid memory leaks.
369 2011-05-16 Tobias Burnus <burnus@net-b.de>
371 * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
372 (Fortran 2008 status): Multi-image support for coarrays.
373 (TR 19113 status): New section.
375 2011-05-15 Tobias Burnus <burnus@net-b.de>
378 actual argument is not an array; rank mismatch is diagnosted later.
379 * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handle
381 * trans-types.c (gfc_get_array_type_bounds): Ditto.
383 2011-05-15 Joern Rennecke <amylaar@spamcop.net>
386 * trans-types.c: Include "tm.h".
387 [0] (c_size_t_size): Remove.
389 2011-05-15 Janne Blomqvist <jb@gcc.gnu.org>
392 * gfortran.texi (_gfortran_set_options): Even though -fbacktrace
393 is now the default, the library defaults to backtracing disabled.
395 2011-05-14 Tobias Burnus <burnus@net-b.de>
397 * lang.opt (fdump-core): Re-add as ignored option
398 for backward compatibility.
400 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
403 * gfortran.texi: Update mixed-language programming section
404 reflecting the removal of the fdump-core option, and that
405 -fbacktrace is now enabled by default.
407 2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
410 * frontend-passes.c (cfe_register_funcs): Also register functions
411 for potential elimination if the rank is > 0, the shape is unknown
412 and reallocate on assignment is active.
413 (create_var): For rank > 0 functions with unknown shape, create
414 an allocatable temporary.
416 2011-05-14 Tobias Burnus <burnus@net-b.de>
419 * interface.c (compare_parameter): Skip diagnostic if
420 actual argument is not an array; rank mismatch is diagnosted later.
422 2011-05-14 Tobias Burnus <burnus@net-b.de>
424 * options.c (gfc_init_options, gfc_post_options): Enable
425 -fstack-arrays by default if -Ofast is used.
426 * invoke.texi (-fstack-arrays): Document this.
428 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
431 * gfortran.h (gfc_option_t): Remove flag_dump_core.
432 * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
433 (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
434 * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
435 * invoke.texi: Remove -fdump-core, document that -fbacktrace is
437 * lang.opt: Remove -fdump-core.
438 * options.c (gfc_init_options): Make backtrace default to enabled,
440 (gfc_handle_option): Remove OPT_fdump-core.
441 * trans-decl.c: Pass a 0 to preserve ABI.
443 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
445 * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
447 2011-05-13 Tobias Burnus <burnus@net-b.de>
450 * io.c (resolve_tag_format, resolve_tag): Make sure
451 that the string is of default kind.
452 (gfc_resolve_inquire): Also resolve decimal tag.
454 2011-05-12 Tobias Burnus <burnus@net-b.de>
457 * resolve.c (resolve_intrinsic): Don't resolve module
458 intrinsics multiple times.
460 2011-05-11 Tobias Burnus <burnus@net-b.de>
463 * expr.c (gfc_is_constant_expr): Use e->value.function.esym
464 instead of e->symtree->n.sym, if available.
466 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
468 * f95-lang.c (global_bindings_p): Return bool and simplify.
470 2011-05-07 Tobias Burnus <burnus@net-b.de>
474 * trans.h: Move gfc_init_coarray_decl prototype ...
475 * gfortran.h: ... to here.
476 * parse.c (translate_all_program_units): Call gfc_init_coarray_decl.
477 (gfc_parse_file): Update translate_all_program_units call.
478 * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,
479 new argument whether DECL_EXTERNAL should be used.
480 (create_main_function): Update gfc_init_coarray_decl call.
481 * trans-intrinsic.c (trans_this_image, trans_image_index,
482 conv_intrinsic_cobound): Ditto.
484 2011-05-06 Tobias Burnus <burnus@net-b.de>
487 * trans-array.c (gfc_walk_variable_expr): Continue walking
489 * trans-intrinsic.c (convert_element_to_coarray_ref): New function.
490 (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
491 (trans_this_image): Fix algorithm.
492 * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,
493 gfc_sym_type): Handle scalar coarrays.
495 2011-05-06 Tobias Burnus <burnus@net-b.de>
499 * lang.opt (std=f2008tr): New.
500 * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
501 * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
502 procedures for -std=f2008tr/gnu/legacy.
503 (gfc_match_import): Set sym to NULL.
504 * options.c (set_default_std_flags,gfc_handle_option): Handle
506 * invoke.texi (-std=): Document -std=f2008tr.
508 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
510 * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
511 * trans-io.c (add_case): Likewise.
512 * trans-stmt.c (gfc_trans_integer_select): Likewise.
513 (gfc_trans_character_select): Likewise.
515 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
517 * trans-decl.c (trans_function_start): Do not set
518 dont_save_pending_sizes_p.
520 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
522 * trans.h (gfc_chainon_list): Delete.
523 * trans.c (gfc_chainon_list): Delete.
525 2011-05-04 Tobias Burnus <burnus@net-b.de>
528 * invoke.texi (fno-protect-parens): Document
529 that -Ofast implies -fno-protect-parens.
530 * options.c (gfc_init_options, gfc_post_options):
531 Make -Ofast imply -fno-protect-parens.
533 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
535 * trans-decl.c (build_library_function_decl_1): Call
536 build_function_type_vec. Adjust argument list building accordingly.
537 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
538 * trans-types.c (gfc_get_function_type): Likewise.
540 2011-05-04 Richard Guenther <rguenther@suse.de>
542 * trans-array.c (gfc_trans_array_constructor_value): Use
543 size_int for bounds of range types.
544 (gfc_trans_array_constructor_value): Use size_type_node
546 * trans-common.c (build_field): Use gfc_charlen_type_node
548 * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
549 as type to build_int_cst.
550 * trans-const.c (gfc_build_string_const): Use size_int
551 for bounds of range types.
552 (gfc_build_wide_string_const): Likewise.
553 * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
555 (gfc_trans_character_select): Likewise.
556 (gfc_trans_character_select): Do not pass NULL
557 as type to build_int_cst.
558 (gfc_trans_character_select): Use size_int for bounds of range types.
559 * trans-io.c (gfc_build_io_library_fndecls): Likewise.
560 (add_case): Do not pass NULL as type to build_int_cst.
561 (transfer_expr): Likewise.
562 (transfer_array_desc): Likewise.
563 * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
565 (gfc_trans_assign_aux_var): Likewise.
566 (create_main_function): Use size_int for bounds of range types.
567 * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
568 NULL as type to build_int_cst.
569 (gfc_conv_intrinsic_spacing): Likewise.
570 (gfc_conv_intrinsic_rrspacing): Likewise.
571 (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
573 2011-05-04 Richard Guenther <rguenther@suse.de>
575 * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
576 argument to int_const_binop.
578 2011-05-03 Tobias Burnus <burnus@net-b.de>
581 * trans-intrinsic.c (trans_this_image): Implement version with
583 (conv_intrinsic_cobound): Simplify code.
584 (gfc_conv_intrinsic_function): Call trans_this_image for
585 this_image(coarray) except for -fcoarray=single.
587 2011-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
590 * gfortran.texi: Document the 'Q' exponent-letter extension.
591 * invoke.texi: Document -Wreal-q-constant.
592 * lang.opt: Add -Wreal-q-constant option.
593 * gfortran.h: Add warn_real_q_constant to option struct.
594 * primary.c (match_real_constant): Use it. Accept 'Q' as
595 exponent-letter for REAL(16) real-literal-constant with a
596 fallback to REAL(10) or error if REAL(10) is not available.
597 * options.c (gfc_init_options, set_Wall) Set it.
598 (gfc_handle_option): Handle new option.
600 2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
602 * dump-prase-tree.c (show_code_node): Set the current
603 namespace to the BLOCK before displaying it; restore
606 2011-04-30 Tobias Burnus <burnus@net-b.de>
609 * decl.c (gfc_match_import): Don't try to find the
610 symbol if already found.
612 2011-04-30 Paul Thomas <pault@gcc.gnu.org>
615 * trans-expr.c (fcncall_realloc_result): Set the bounds and the
616 offset so that the lbounds are one.
617 (gfc_trans_arrayfunc_assign): Add rank to arguments of above.
619 2011-04-29 Paul Thomas <pault@gcc.gnu.org>
622 * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
623 automatic reallocation when the lhs is a target.
626 * trans-expr.c (fcncall_realloc_result): Make sure that the
627 result dtype field is set before the function call.
629 2011-04-29 Tobias Burnus <burnus@net-b.de>
632 * resolve.c (resolve_typebound_generic_call): Don't check access
633 flags of the specific function.
636 * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
637 to AS_ASSUMED_SHAPE for function results.
638 (resolve_fl_var_and_proc): Print also for function results with
639 AS_DEFERRED an error, if they are not a pointer or allocatable.
640 (resolve_types): Make sure arguments of procedures in interface
643 2011-04-29 Michael Matz <matz@suse.de>
645 * options.c (options.c): Set warn_maybe_uninitialized.
647 2011-04-28 Tobias Burnus <burnus@net-b.de>
650 * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
651 function results only once.
652 (resolve_symbol): Always resolve function results.
655 * expr.c (gfc_check_vardef_context): Fix handling of generic
657 * interface.c (check_interface0): Reject internal functions
658 in generic interfaces, unless -std=gnu.
660 2011-04-27 Tobias Burnus <burnus@net-b.de>
663 * resolve.c (resolve_global_procedure): Error recovery -
664 avoid segfault for (non)character-returning functions.
666 2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
668 * decl.c (gfc_match_end): Check that the block name starts
670 * parse.c (gfc_build_block_ns): Make block names unique by
673 2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
675 * frontend-passes.c (inserted_block): New variable.
676 (changed_statement): Likewise.
677 (create_var): Encase statement to be operated on in a BLOCK.
678 Adjust code insertion for BLOCK.
679 (cfe_code): Set inserted_block and changed_statement to NULL.
681 2011-04-23 Tobias Burnus <burnus@net-b.de>
684 * module.c (mio_array_spec): Set as->cotype on reading.
685 * resolve.c (resolve_allocate_expr): Fix allocating coarray
688 2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
691 * frontend_passes (cfe_register_funcs): Remove workaround for DO
693 (gfc_code_walker): Make sure the pointer to the current
694 statement doen't change when other statements are inserted.
696 2011-04-21 Tobias Burnus <burnus@net-b.de>
699 * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
701 2011-04-20 Jim Meyering <meyering@redhat.com>
703 * expr.c (free_expr0): Remove useless if-before-free.
704 * gfortranspec.c (lang_specific_pre_link): Likewise.
705 * interface.c (gfc_extend_expr): Likewise.
706 * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
708 2011-04-19 Tobias Burnus <burnus@net-b.de>
713 * module.c (fix_mio_expr): Commit created symbol.
715 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
717 * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
719 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
721 * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
724 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
726 * misc.c (gfc_getmem): Remove function.
727 * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
728 usage with XCNEW or XCNEWVEC.
729 * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
731 * options.c (gfc_handle_module_path_options)
732 (gfc_get_option_string): Likewise.
733 * resolve.c (gfc_resolve_forall): Likewise.
734 * simplify.c (simplify_transformation_to_array): Likewise.
735 * target-memory.c (gfc_target_interpret_expr): Likewise.
736 * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
737 (get_init_field): Likewise.
738 * trans-expr.c (gfc_conv_statement_function): Likewise.
739 * trans-io.c (nml_full_name): Likewise.
740 * trans-stmt.c (gfc_trans_forall_1): Likewise.
741 * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
743 2011-04-19 Tobias Burnus <burnus@net-b.de>
746 * parse.c (resolve_all_program_units): Skip modules.
747 (translate_all_program_units): Handle modules.
748 (gfc_parse_file): Defer code generation for modules.
750 2011-04-19 Martin Jambor <mjambor@suse.cz>
752 * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
753 instead of cgraph_get_create_node.
755 2011-04-18 Jim Meyering <meyering@redhat.com>
757 remove now-unused definition of gfc_free
758 * misc.c (gfc_free): Remove function.
759 * gfortran.h (gfc_free): Remove its prototype.
761 2011-04-18 Jim Meyering <meyering@redhat.com>
763 convert each use of gfc_free (p) to free (p)
764 Do that by running this command:
765 perl -pi -e 's/\bgfc_free ?\(/free (/' \
766 $(git grep -El '\bgfc_free ?\(')
767 which also corrects the few uses that lacked a space between
768 the function name and the open parenthesis.
769 Manually undo the change to the function definition itself
770 and its prototype. They'll be removed next.
771 * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
772 * constructor.c (node_free): Likewise.
773 * cpp.c (dump_queued_macros): Likewise.
774 * data.c (gfc_assign_data_value): Likewise.
775 * decl.c (free_variable, free_value, gfc_free_data): Likewise.
776 (gfc_free_data_all, match_old_style_init): Likewise.
777 (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
779 (gfc_match_modproc): Likewise.
780 * dependency.c (check_section_vs_section): Likewise.
781 * error.c (gfc_pop_error, gfc_free_error): Likewise.
782 * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
783 (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
784 (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
786 * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
787 (strip_function_call, optimize_comparison): Likewise.
788 * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
789 (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
791 * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
792 (gfc_convert_chartype): Likewise.
793 * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
795 (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
796 * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
797 (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
799 (free_case, gfc_free_forall_iterator): Likewise.
801 * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
802 (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
803 (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
804 (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
805 (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
806 (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
807 * openmp.c (gfc_free_omp_clauses): Likewise.
808 * options.c (gfc_post_options): Likewise.
809 * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
810 * primary.c (gfc_free_structure_ctor_component): Likewise.
811 * resolve.c (resolve_structure_cons, check_host_association): Likewise.
812 (gfc_resolve_forall, resolve_equivalence): Likewise.
813 * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
814 (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
815 (load_file, gfc_read_orig_filename): Likewise.
816 * simplify.c (simplify_transformation_to_array): Likewise.
817 (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
819 (gfc_simplify_compiler_options): Likewise.
820 * st.c (gfc_free_statement, gfc_free_statements): Likewise.
821 (gfc_free_association_list): Likewise.
822 * symbol.c (free_components, gfc_free_st_label, free_st_labels):
824 (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
825 (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
826 (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
827 (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
829 (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
830 (gfc_free_namespace): Likewise.
831 * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
832 (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
833 (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
834 * trans-common.c (get_init_field, create_common): Likewise.
835 * trans-const.c (gfc_build_wide_string_const): Likewise.
836 (gfc_conv_string_init): Likewise.
837 * trans-decl.c (gfc_generate_function_code): Likewise.
838 * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
840 (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
841 (gfc_trans_subarray_assign): Likewise.
842 * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
843 * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
844 (transfer_namelist_element, transfer_array_component): Likewise.
845 * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
846 * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
847 * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
850 2011-04-15 Jim Meyering <meyering@redhat.com>
852 gfortran: remove cpp definition of free, ...
853 in preparation for the s/gfc_free/free/ transformation.
854 * gfortran.h (free): Remove macro definition that would otherwise
855 prevent direct use of the function.
857 2011-04-18 Tobias Burnus <burnus@net-b.de>
860 * array.c (gfc_match_array_ref): Check for too many codimensions.
861 * check.c (gfc_check_image_index): Check number of elements
863 * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
865 2011-04-18 Tobias Burnus <burnus@net-b.de>
868 * iresolve.c (gfc_resolve_image_index): Set ts.type.
869 * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
870 are not known at compile time and handle -fcoarray=lib.
871 * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
873 (conv_intrinsic_cobound): Fix comment typo.
874 (trans_this_image): New function.
875 * trans-array.c (gfc_unlikely): Move to trans.c.
876 * trans.c (gfc_unlikely): Function moved from trans-array.c.
877 (gfc_trans_runtime_check): Use it.
878 * trans-io.c (gfc_trans_io_runtime_check): Ditto.
879 * trans.h (gfc_unlikely): Add prototype.
881 2011-04-18 Paul Thomas <pault@gcc.gnu.org>
884 * trans-expr.c (fcncall_realloc_result): Renamed version of
885 realloc_lhs_bounds_for_intrinsic_call that does not touch the
886 descriptor bounds anymore but makes a temporary descriptor to
888 (gfc_trans_arrayfunc_assign): Modify the reference to above
891 2011-05-17 Tobias Burnus <burnus@net-b.de>
894 * trans-decl.c (gfc_get_extern_function_decl): Fix decl
895 for external procedures with proc arguments.
897 2011-04-15 Michael Matz <matz@suse.de>
899 * trans-array.c (toplevel): Include gimple.h.
900 (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
901 properly expand variable length arrays.
902 (gfc_trans_auto_array_allocation): If flag_stack_arrays create
903 variable length decls and associate them with their scope.
904 * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
905 * options.c (gfc_init_options): Handle -fstack_arrays option.
906 * lang.opt (fstack-arrays): Add option.
907 * invoke.texi (Code Gen Options): Document it.
908 * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
910 2011-04-15 Tobias Burnus <burnus@net-b.de>
913 * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
914 code which is also causing an ICE.
916 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
918 * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
920 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
922 * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
925 2011-04-12 Paul Thomas <pault@gcc.gnu.org>
929 * trans-array.c (get_std_lbound): For derived type variables
930 return array valued component lbound.
932 2011-04-12 Martin Jambor <mjambor@suse.cz>
934 * trans-decl.c (gfc_generate_function_code): Call
935 cgraph_get_create_node instead of cgraph_node.
937 2011-04-11 Tobias Burnus <burnus@net-b.de>
940 * simplify.c (simplify_bound_dim): Exit for
941 ucobound's last dimension unless -fcoarray=single.
942 * trans-array (gfc_conv_descriptor_size_1): Renamed from
943 gfc_conv_descriptor_size, made static, has now from_dim and
945 (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
946 (gfc_conv_descriptor_cosize): New function.
947 * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
948 * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
949 and handle last codim of ucobound for when -fcoarray is not "single".
951 2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
954 * gfortran.h (gfc_option_t): Add warn_function_elimination and
955 flag_frontend_optimize.
956 * lang.opt (Wfunction-elimination): Add.
957 (ffrontend-optimize): Add.
958 * invoke.texi: Add documentation for -Wfunction-elimination
959 and -ffrontend-optimize. Add -faggressive-function-elimination
960 to list of code generation options.
961 * frontend-passes.c (gfc_run_passes): Run optimizations if
962 flag_frontend_optimize is set.
963 (warn_function_elimination): New function.
964 (cfe_expr_0): Call it if requested to do so.
965 * options.c (gfc_init_options): Initiate warn_function_elimination
966 and flag_frontend_optimize.
967 (gfc_post_options): Set flag_frontend_optimize if not specified
968 by user, depending on the optimization level.
969 (gfc_handle_option): Handle -Wfunction-elimination and
972 2011-04-06 Tobias Burnus <burnus@net-b.de>
975 * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
978 2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
980 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
981 build_function_type_list instead of build_function_type. Correct
982 argument order for func_frexp and func_scalbn.
984 2011-04-05 Duncan Sands <baldrick@free.fr>
986 * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
988 2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
990 * frontend-passes: (optimize_lexical_comparison): New function.
991 (optimize_expr): Call it.
992 (optimize_comparison): Also handle lexical comparison functions.
993 Return false instad of -2 for unequal comparison.
995 2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
998 * frontend-passes (cfe_expr_0): Reverse the order of going
1001 2011-04-04 Tobias Burnus <burnus@net-b.de>
1002 Mikael Morin <mikael.morin@sfr.fr>
1005 * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
1006 * expr.c (gfc_is_coindexed): Ditto.
1007 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
1008 * interface.c (compare_parameter): Use gfc_expr_attr and
1010 * resolve.c (check_dimension, compare_spec_to_ref,
1011 resolve_allocate_expr, check_data_variable): Update for
1013 * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
1014 gfc_simplify_ucobound): Allow non-constant bounds.
1015 * trans-array.c (gfc_set_loop_bounds_from_array_spec,
1016 gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
1017 gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
1018 gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
1019 gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
1020 gfc_conv_ss_startstride, gfc_conv_loop_setup,
1021 gfc_trans_array_bounds, gfc_conv_expr_descriptor,
1022 gfc_walk_variable_expr): Handle codimen.
1023 * trans-decl.c (gfc_build_qualified_array): Save cobounds.
1024 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
1025 (conv_intrinsic_cobound): New function.
1026 (gfc_conv_intrinsic_function): Call it.
1027 (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
1028 ucobound, lcobound, this_image.
1029 * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
1030 (gfc_get_dtype): Honour corank.
1031 (gfc_get_nodesc_array_type): Save corank and codimensions.
1032 (gfc_get_array_type_bounds): Save cobound.
1033 * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
1034 (gfc_array_kind): Add corank item.
1035 (GFC_TYPE_ARRAY_CORANK): New macro.
1037 2011-04-03 Kai Tietz <ktietz@redhat.com>
1040 * Make-lang.in (f95-lang.o): Add some missing dependencies.
1042 2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>
1045 * frontend-passes (cfe_register_funcs): Don't
1046 register functions if they appear as iterators in DO loops.
1048 2011-03-30 Michael Matz <matz@suse.de>
1051 * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
1052 don't use local variable.
1053 (gfc_trans_arrayfunc_assign): Adjust caller.
1055 2011-03-29 Janus Weil <janus@gcc.gnu.org>
1058 * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
1059 * module.c (MOD_VERSION): Bump.
1060 (mio_typespec): Read/write 'interface' field.
1061 * primary.c (match_string_constant,match_logical_constant): Remove
1063 (match_complex_constant): Make sure to clear the typespec.
1065 2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
1067 * frontend-passes.c (create_var): Warn about creating an
1068 array temporary if requested.
1070 2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1073 * frontend-passes.c (optimize_trim): Also follow references, except
1074 when they are substring references or array references.
1076 2011-03-27 Tobias Burnus <burnus@net-b.de>
1079 * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
1080 GFC_ISYM_NUM_IMAGES.
1081 (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
1082 * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
1084 * invoke.texi (-fcoarray=): Document "lib" argument.
1085 * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
1086 * libgfortran.h (libgfortran_stat_codes): Add comments.
1087 * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
1088 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
1089 Handle GFC_FCOARRAY_LIB.
1090 * trans.h (gfc_init_coarray_decl): New prototype.
1091 (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
1092 gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
1093 gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
1094 gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
1095 gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
1096 New global variables.
1097 * trans-decl.c: Declare several CAF functions (cf. above).
1098 (gfc_build_builtin_function_decls): Initialize those.
1099 (gfc_init_coarray_decl): New function.
1100 (create_main_function): Call CAF init/finalize functions.
1101 * trans-intrinsic.c (trans_this_image, trans_num_images): New.
1102 (gfc_conv_intrinsic_function): Call those.
1103 * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
1104 Add code for GFC_FCOARRAY_LIB.
1106 2011-03-26 Janus Weil <janus@gcc.gnu.org>
1109 * class.c (get_unique_hashed_string): Adjust maximum allowable length
1110 for unique type string.
1112 2011-03-25 Kai Tietz <ktietz@redhat.com>
1114 * scanner.c (preprocessor_line): Use filename_cmp
1117 2011-03-25 Tobias Burnus <burnus@net-b.de>
1121 * trans-types.c (gfc_get_function_type): Don't use varargs if the
1122 procedure is known to have no arguments.
1124 2010-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1127 * gfortran.h (gfc_option_t) : Add
1128 flag_aggressive_function_elimination.
1129 (gfc_dep_compare_functions): Add prototype.
1130 * lang.opt: Add faggressive-function-elimination.
1131 * invoke.texi: Document -faggressive-function-elimination.
1132 * frontend_passes (expr_array): New static variable.
1133 (expr_size): Likewise.
1134 (expr_count): Likewise.
1135 (current_code): Likewise.
1136 (current_ns): Likewise.
1137 (gfc_run_passes): Allocate and free space for expressions.
1138 (cfe_register_funcs): New function.
1139 (create_var): New function.
1140 (cfc_expr_0): New function.
1141 (cfe_code): New function.
1142 (optimize_namespace): Invoke gfc_code_walker with cfe_code
1144 * dependency.c (gfc_dep_compare_functions): New function.
1145 (gfc_dep_compare_expr): Use it.
1146 * options.c (gfc_init_options): Handle
1147 flag_aggressive_function_elimination.
1148 (gfc_handle_option): Likewise.
1150 2011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1152 * arith.c (arith_power): Plug memory leak.
1154 2011-03-12 Janus Weil <janus@gcc.gnu.org>
1157 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
1158 for polymorphic arguments.
1160 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1163 * intrinsic.texi: Clarify doc of logarithm functions.
1165 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1168 * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
1169 the string length variable.
1171 2011-03-11 Janus Weil <janus@gcc.gnu.org>
1174 * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
1175 (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
1177 2011-03-06 Paul Thomas <pault@gcc.gnu.org>
1178 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1181 * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
1182 the expression has an iterator. Otherwise, iterate through the
1183 array, checking for constant expressions for each element.
1185 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
1188 * intrinsic.texi: Update CTIME and FDATE documentation.
1190 2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1192 * invoke.texi (Option Summary, Fortran Dialect Options)
1193 (Preprocessing Options, Runtime Options, Code Gen Options):
1194 Fix vertical list spacing by using @itemx for additinoal
1195 items, empty line before @table. Fix typos.
1197 2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1200 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
1202 2011-02-26 Tobias Burnus <burnus@net-b.de>
1205 * trans-stmt.c (gfc_trans_allocate): Fix allocation with
1206 type-spec of deferred-length strings.
1208 2011-02-26 Tobias Burnus <burnus@net-b.de>
1211 * openmp.c (gfc_resolve_omp_directive): Resolve if()
1212 condition of OpenMP's task.
1214 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1217 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
1219 2011-02-24 Tobias Burnus <burnus@net-b.de>
1222 * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
1223 multitable for linebreak between different syntax variants.
1225 2011-02-24 Richard Guenther <rguenther@suse.de>
1228 * f95-lang.c (pushdecl): For externs in non-global scope push
1229 a copy of the decl into the BLOCK.
1231 2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
1234 * trans.c (gfc_prepend_expr_to_block): New function.
1235 * trans.h (gfc_prepend_expr_to_block): Declare.
1236 * trans-array.c (gfc_conv_array_parameter): Replace
1237 gfc_add_expr_to_block with gfc_prepend_expr_to_block.
1239 2011-02-22 Paul Thomas <pault@gcc.gnu.org>
1242 * trans-decl.c (gfc_get_extern_function_decl): Don't use the
1243 gsymbol backend_decl if the procedure has a formal argument
1244 that is a procedure.
1246 2011-02-22 Tobias Burnus <burnus@net-b.de>
1249 * trans-stmt.c (gfc_trans_if_1): Use correct line for
1250 expressions in the if condition.
1252 2011-02-20 Tobias Burnus <burnus@net-b.de>
1255 * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
1256 gfc_restore_backend_locus to have better debug locations.
1257 * trans-array.c (gfc_trans_deferred_array): Ditto.
1259 2011-02-20 Paul Thomas <pault@gcc.gnu.org>
1263 * trans-types.c (gfc_get_derived_type): Remove code that looks
1264 for decls in gsym and add call to gfc_get_module_backend_decl.
1265 * trans.h : Add prototype for gfc_get_module_backend_decl.
1266 * trans-decl.c (gfc_get_module_backend_decl): New function.
1267 (gfc_get_symbol_decl): Call it.
1269 2011-02-19 Paul Thomas <pault@gcc.gnu.org>
1272 * trans-array.c (get_array_ctor_all_strlen): Move up in file.
1273 (get_array_ctor_var_strlen): Add block dummy and add call to
1274 get_array_ctor_all_strlen instead of giving up on substrings.
1275 Call gcc_unreachable for default case.
1276 (get_array_ctor_strlen): Add extra argument to in call to
1277 get_array_ctor_var_strlen.
1279 2011-02-18 Janus Weil <janus@gcc.gnu.org>
1282 * primary.c (gfc_match_structure_constructor): Handle empty parent
1285 2011-02-18 Tobias Burnus
1288 * trans-expr.c (arrayfunc_assign_needs_temporary): Use
1289 esym to check whether the specific procedure returns an
1290 allocatable or pointer.
1292 2011-02-18 Michael Matz <matz@suse.de>
1295 * gfortran.h (struct gfc_component): Add norestrict_decl member.
1296 * trans.h (struct lang_type): Add nonrestricted_type member.
1297 * trans-expr.c (gfc_conv_component_ref): Search fields with correct
1299 * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
1300 (gfc_sym_type): Use it.
1302 2011-02-18 Janus Weil <janus@gcc.gnu.org>
1305 * resolve.c (resolve_transfer): Reject variables with procedure pointer
1308 2011-02-18 Janus Weil <janus@gcc.gnu.org>
1311 * gfortran.h (gfc_check_access): Removed prototype.
1312 (gfc_check_symbol_access): Added prototype.
1313 * module.c (gfc_check_access): Renamed to 'check_access', made static.
1314 (gfc_check_symbol_access): New function, basically a shortcut for
1316 (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
1317 'gfc_check_symbol_access'.
1318 (write_operator,write_module): Renamed 'gfc_check_access'.
1319 * resolve.c (resolve_fl_procedure,resolve_fl_derived,
1320 resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
1321 'gfc_check_symbol_access'.
1323 2011-02-16 Janus Weil <janus@gcc.gnu.org>
1326 * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
1327 * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
1328 'gfc_build_class_symbol'.
1329 (gfc_match_decl_type_spec): Reject unlimited polymorphism.
1330 * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
1331 * match.c (select_type_set_tmp): Move setting of 'class_ok' into
1332 'gfc_build_class_symbol'.
1333 * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
1335 2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>
1338 . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
1340 2011-02-14 Janus Weil <janus@gcc.gnu.org>
1343 * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
1345 2011-02-14 Janus Weil <janus@gcc.gnu.org>
1348 * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
1350 * primary.c (gfc_match_varspec): Avoid ICE for invalid class
1353 2011-02-14 Janus Weil <janus@gcc.gnu.org>
1356 * interface.c (get_expr_storage_size): Handle derived-type components.
1358 2011-02-13 Tobias Burnus <burnus@net-b.de>
1361 * interface.c (compare_parameter): Avoid ICE with
1362 character components.
1364 2011-02-12 Janus Weil <janus@gcc.gnu.org>
1366 * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
1367 * decl.c (build_sym,build_struct,attr_decl1): Use return value of
1368 'gfc_build_class_symbol'.
1370 2011-02-12 Michael Matz <matz@suse.de>
1371 Janus Weil <janus@gcc.gnu.org>
1372 Tobias Burnus <burnus@net-b.de>
1375 * trans-expr.c (conv_parent_component_references): Avoid unintendent
1376 skipping of parent compounds.
1378 2011-02-11 Tobias Burnus <burnus@net-b.de>
1381 * resolve.c (resolve_formal_arglist): PURE with VALUE
1382 and no INTENT: Add -std= diagnostics.
1384 2011-02-09 Janus Weil <janus@gcc.gnu.org>
1387 * resolve.c (resolve_procedure_interface): If interface has a result
1388 variable, copy the typespec and set result pointer to self.
1390 2011-02-09 Janus Weil <janus@gcc.gnu.org>
1393 * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
1395 2011-02-09 Janus Weil <janus@gcc.gnu.org>
1398 * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
1400 2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1402 * io.c (match_io_element): Do not set dt if not inquire.
1404 2011-02-08 Janus Weil <janus@gcc.gnu.org>
1407 * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
1408 initialization target.
1410 2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
1411 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1413 * gfortran.texi (Thread-safety): texinfo styling fixes.
1414 * intrinsic.texi: Likewise.
1416 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
1418 * gfortran.texi (Compiler Characteristics): Add reference to
1419 thread-safety section.
1421 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
1423 * gfortran.texi (Thread-safety): New section.
1424 * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
1426 (GET_ENVIRONMENT_VARIABLE): Likewise.
1429 2011-02-06 Paul Thomas <pault@gcc.gnu.org>
1432 * trans-stmt.c (gfc_trans_allocate): For deferred character
1433 length allocations with SOURCE, store to the values and string
1434 length to avoid calculating twice. Replace gfc_start_block
1435 with gfc_init_block to avoid unnecessary contexts and to keep
1436 declarations of temporaries where they should be. Tidy up the
1439 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
1442 * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
1444 2011-02-02 Janus Weil <janus@gcc.gnu.org>
1445 Paul Thomas <pault@gcc.gnu.org>
1448 * trans-expr.c (gfc_trans_class_init_assign): Add call to
1449 gfc_get_derived_type.
1450 * module.c (read_cleanup): Do not use unique_symtrees for vtabs
1453 2011-02-02 Janus Weil <janus@gcc.gnu.org>
1456 * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
1458 2011-02-01 Janus Weil <janus@gcc.gnu.org>
1461 * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
1462 pointer components with allocatable result.
1464 2011-01-31 Janus Weil <janus@gcc.gnu.org>
1467 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
1468 with pointer or allocatable result.
1470 2011-01-31 Paul Thomas <pault@gcc.gnu.org>
1473 * trans-stmt.c (gfc_trans_allocate): Improve handling of
1474 deferred character lengths with SOURCE.
1475 * iresolve.c (gfc_resolve_repeat): Calculate character
1476 length from source length and ncopies.
1477 * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
1478 expressions for ALLOCATE.
1480 2011-01-31 Janus Weil <janus@gcc.gnu.org>
1483 * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
1484 an argument of a typebound assignment being a component.
1486 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1488 * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
1489 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1491 2011-01-31 Tobias Burnus <burnus@net-b.de>
1494 * resolve.c (resolve_fl_procedure): Reject stmt functions
1495 with pointer/allocatable attribute.
1497 2011-01-31 Tobias Burnus <burnus@net-b.de>
1500 * interface.c (gfc_procedure_use): Add explicit interface check for
1501 pointer/allocatable functions.
1503 2011-01-30 Paul Thomas <pault@gcc.gnu.org>
1506 * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
1507 expr and is assigned to a deferred character length scalar,
1508 make sure that the function is called before reallocation,
1509 so that the length is available. Include procedure pointer
1510 and procedure pointer component rhs as well.
1515 * gfortran.dg/allocatable_function_5.f90: New test not added by
1516 mistake on 2011-01-28.
1518 2011-01-29 Tobias Burnus <burnus@net-b.de>
1521 * check.c (gfc_check_shape): Support kind argument in SHAPE.
1522 * intrinsic.c (add_functions): Ditto.
1523 * resolve.c (gfc_resolve_shape): Ditto.
1524 * simplify.c (gfc_simplify_shape): Ditto.
1525 * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
1526 gfc_simplify_shape): Update prototypes.
1527 * intrinisc.text (SHAPE): Document kind argument.
1529 2011-01-28 Tobias Burnus <burnus@net-b.de>
1532 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
1533 attribute also without INTENT.
1535 2011-01-28 Tobias Burnus <burnus@net-b.de>
1537 * gfortran.texi (Fortran 2003 status): Mention support for
1538 nonconstant namelist variables.
1540 2011-01-28 Paul Thomas <pault@gcc.gnu.org>
1541 Tobias Burnus <burnus@gcc.gnu.org>
1546 * interface.c (compare_actual_formal): An allocatable or pointer
1547 deferred length actual is only allowed if the formal argument
1548 is also deferred length. Clean up whitespace.
1549 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
1550 deferred character length formal arguments by reference. Do the
1551 same for function results.
1552 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
1553 and rhs character lengths, if deferred length lhs. In this case
1554 set the lhs character length to that of the rhs.
1555 (gfc_conv_string_parameter): Remove assert that string length is
1557 (is_scalar_reallocatable_lhs): New function.
1558 (alloc_scalar_allocatable_for_assignment): New function.
1559 (gfc_trans_assignment_1): Call above new function. If the rhs is
1560 a deferred character length itself, makes ure that the function
1561 is called before reallocation, so that the length is available.
1562 (gfc_trans_asssignment): Remove error about assignment to
1563 deferred length character variables.
1564 * gfortran.texi : Update entry about (re)allocation on
1566 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
1567 length character variables.
1568 * module.c (mio_typespec): Transfer deferred characteristic.
1569 * trans-types.c (gfc_get_function_type): New code to generate
1570 hidden typelist, so that those character lengths that are
1571 passed by reference get the right type.
1572 * resolve.c (resolve_contained_fntype): Supress error for
1573 deferred character length functions.
1574 (resolve_function, resolve_fl_procedure) The same.
1575 (check_symbols): Remove the error that support for
1576 entity with deferred type parameter is not yet implemented.
1577 (resolve_fl_derived): The same.
1578 match.c (alloc_opt_list): Allow MOLD for deferred length object.
1579 * trans-decl.c (gfc_get_symbol_decl): For deferred character
1580 length dummies, generate a local variable for string length.
1581 (create_function_arglist): Hidden length can be a pointer.
1582 (gfc_trans_deferred_vars): For deferred character length
1583 results and dummies, assign the string length to the local
1584 variable from the hidden argument on entry and the other way
1585 round on exit, as appropriate.
1587 2011-01-27 Tobias Burnus <burnus@net-b.de>
1590 * trans-decl.c (gfc_generate_function_code): Fix init
1591 of allocatable result variable with allocatable components.
1593 2011-01-27 Tobias Burnus <burnus@net-b.de>
1596 * options.c (gfc_handle_module_path_options): Save
1597 module path without trailing slash as include path.
1599 2011-01-25 Tobias Burnus <burnus@net-b.de>
1602 * interface.c (gfc_check_operator_interface): Fix
1603 defined-assignment check.
1605 2011-01-23 Tobias Burnus <burnus@net-b.de>
1608 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
1609 scalar allocatable dummy arguments.
1611 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
1614 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
1615 check for array sections followed by component references
1616 which are illegal. Also check for coindexed arguments.
1618 2011-01-22 Tobias Burnus <burnus@net-b.de>
1621 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
1624 2011-01-21 Tobias Burnus <burnus@net-b.de>
1627 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
1628 Use defined instead of magic number exit status codes.
1629 * scanner.c (include_line, gfc_new_file): Ditto.
1631 2011-01-21 Tobias Burnus <burnus@net-b.de>
1634 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
1635 without pointer attribute.
1637 2011-01-18 Janus Weil <janus@gcc.gnu.org>
1640 * resolve.c (expression_rank): Fix rank of procedure poiner components.
1641 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
1642 pointer components as actual arguments.
1644 2011-01-17 Jakub Jelinek <jakub@redhat.com>
1647 * gfortran.h (struct gfc_omp_saved_state): New type.
1648 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
1649 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
1651 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
1654 2011-01-17 Tobias Burnus <burnus@net-b.de>
1657 * invoke.texi (Options to request or suppress errors
1658 and warnings): Fix cross link.
1660 2011-01-15 Tobias Burnus <burnus@net-b.de>
1662 * gfortran.texi: Update Fortran 2003 Status section.
1665 * invoke.texi: Add missing "-E" to the -dM example.
1667 2011-01-13 Tobias Burnus <burnus@net-b.de>
1670 * intrinsic.texi (get_command_argument, get_environment_variable):
1671 Mark arguments as optional in the Arguments section.
1673 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
1674 Tobias Burnus <burnus@net-b.de>
1677 * trans-decl.c (gfc_get_extern_function_decl,
1678 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
1679 calling decl_attributes.
1681 2011-01-13 Tobias Burnus <burnus@net-b.de>
1682 Mikael Morin <mikael@gcc.gnu.org>
1686 * gfortran.h (gfc_code): Move union ext's case_list into
1688 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
1690 * frontend-passes.c (gfc_code_walker): Ditto.
1691 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
1692 gfc_match_type_is, gfc_match_class_is): Ditto.
1693 * resolve.c (resolve_select, resolve_select_type): Ditto.
1694 * st.c (gfc_free_statement): Ditto.
1695 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
1696 gfc_trans_character_select): Ditto.
1697 * parse.c (resolve_all_program_units): For error recovery, avoid
1698 segfault is proc_name is NULL.
1700 2011-01-11 Paul Thomas <pault@gcc.gnu.org>
1703 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
1704 to be standard compliant by testing for shape rather than size
1705 before skipping reallocation. Improve comments.
1707 2011-01-09 Janus Weil <janus@gcc.gnu.org>
1710 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
1713 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1716 * resolve.c (is_scalar_expr_ptr): For a substring reference,
1717 use gfc_dep_compare_expr to compare start and end expession.
1718 Add FIXME for using gfc_deb_compare_expr elsewhere.
1720 2011-01-09 Janus Weil <janus@gcc.gnu.org>
1723 * class.c (get_unique_type_string): Make type name start with upper
1726 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
1729 * invoke.texi: Mention -ffree-line-length-none and
1730 -ffixed-line-length-none for preprocessing.
1732 2011-01-08 Paul Thomas <pault@gcc.gnu.org>
1735 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
1736 procedure argument (eg TRANSPOSE) use a temporary if there is
1737 any chance of aliasing due to host or use association.
1738 (arrayfunc_assign_needs_temporary): Correct logic for function
1739 results and do not use a temporary for implicitly PURE
1740 variables. Use a temporary for Cray pointees.
1741 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
1742 implicit pureness of containing procedure.
1743 * decl.c (match_old_style_init, gfc_match_data): Where decl
1744 would fail in PURE procedure, set implicit_pure to zero.
1745 * gfortran.h : Add implicit_pure to structure symbol_attr and
1746 add prototype for function gfc_implicit_pure.
1747 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
1748 Where decl would fail in PURE procedure, reset implicit_pure.
1749 * io.c (match_vtag, gfc_match_open, gfc_match_close,
1750 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
1751 * match.c (gfc_match_critical, gfc_match_stopcode,
1752 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
1754 * parse.c (decode_omp_directive): The same.
1755 (parse_contained): If not PURE, set implicit pure attribute.
1756 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
1757 resolve_function, resolve_ordinary_assign) : The same.
1758 (gfc_implicit_pure): New function.
1759 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
1760 to ab_attribute enum and use it in this function.
1762 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
1765 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
1766 make static and move in front of its only caller, to ...
1767 * trans-array.c (symbols_could_alias): ... here.
1768 Pass information about pointer and target status as
1769 arguments. Allocatable arrays don't alias anything
1770 unless they have the POINTER attribute.
1771 (gfc_could_be_alias): Keep track of pointer and target
1772 status when following references. Also check if typespecs
1773 of components match those of other components or symbols.
1775 2011-01-07 Tobias Burnus <burnus@net-b.de>
1778 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
1779 * intrinsic.c (add_functions): Use simplify functions for
1780 EXTENDS_TYPE_OF and SAME_TYPE_AS.
1781 * intrinsic.h (gfc_simplify_extends_type_of,
1782 gfc_simplify_same_type_as): New prototypes.
1783 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
1784 gfc_simplify_same_type_as): New functions.
1786 2011-01-07 Janus Weil <janus@gcc.gnu.org>
1790 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
1791 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
1793 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
1794 * resolve.c (resolve_deallocate_expr): _data component will be added
1795 at translation stage.
1796 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
1797 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
1799 2011-01-06 Daniel Franke <franke.daniel@gmail.com>
1803 * parse.c (parse_interface): Remove check for procedure types.
1804 * interface.c (check_interface0): Verify that procedures are
1805 either all SUBROUTINEs or all FUNCTIONs.
1807 2011-01-05 Janus Weil <janus@gcc.gnu.org>
1810 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
1811 'vtab' is initialized).
1813 2011-01-05 Janus Weil <janus@gcc.gnu.org>
1816 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
1817 assignment, set the _vptr component to the declared type.
1819 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1822 * resolve.c (resolve_allocate_deallocate): Follow references to
1823 check for duplicate occurence of allocation/deallocation objects.
1825 2011-01-05 Janus Weil <janus@gcc.gnu.org>
1828 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
1829 of polymorphic allocatables according to their declared type.
1831 2011-01-04 Janus Weil <janus@gcc.gnu.org>
1834 * class.c (gfc_find_derived_vtab): Set the module field for the copying
1835 routine to make sure it receives module name mangling.
1837 2011-01-03 Jakub Jelinek <jakub@redhat.com>
1839 * gfortranspec.c (lang_specific_driver): Update copyright notice
1842 2011-01-03 Janus Weil <janus@gcc.gnu.org>
1844 * intrinsic.texi (LEADZ): Fix example.
1846 2011-01-02 Janus Weil <janus@gcc.gnu.org>
1849 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
1853 Copyright (C) 2011 Free Software Foundation, Inc.
1855 Copying and distribution of this file, with or without modification,
1856 are permitted in any medium without royalty provided the copyright
1857 notice and this notice are preserved.