1 2011-02-12 Michael Matz <matz@suse.de>
2 Janus Weil <janus@gcc.gnu.org>
3 Tobias Burnus <burnus@net-b.de>
6 * trans-expr.c (conv_parent_component_references): Avoid unintendent
7 skipping of parent compounds.
9 2011-02-11 Tobias Burnus <burnus@net-b.de>
12 * resolve.c (resolve_formal_arglist): PURE with VALUE
13 and no INTENT: Add -std= diagnostics.
15 2011-02-09 Janus Weil <janus@gcc.gnu.org>
18 * resolve.c (resolve_procedure_interface): If interface has a result
19 variable, copy the typespec and set result pointer to self.
21 2011-02-09 Janus Weil <janus@gcc.gnu.org>
24 * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
26 2011-02-09 Janus Weil <janus@gcc.gnu.org>
29 * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
31 2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
33 * io.c (match_io_element): Do not set dt if not inquire.
35 2011-02-08 Janus Weil <janus@gcc.gnu.org>
38 * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
39 initialization target.
41 2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
42 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
44 * gfortran.texi (Thread-safety): texinfo styling fixes.
45 * intrinsic.texi: Likewise.
47 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
49 * gfortran.texi (Compiler Characteristics): Add reference to
50 thread-safety section.
52 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
54 * gfortran.texi (Thread-safety): New section.
55 * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
57 (GET_ENVIRONMENT_VARIABLE): Likewise.
60 2011-02-06 Paul Thomas <pault@gcc.gnu.org>
63 * trans-stmt.c (gfc_trans_allocate): For deferred character
64 length allocations with SOURCE, store to the values and string
65 length to avoid calculating twice. Replace gfc_start_block
66 with gfc_init_block to avoid unnecessary contexts and to keep
67 declarations of temporaries where they should be. Tidy up the
70 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
73 * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
75 2011-02-02 Janus Weil <janus@gcc.gnu.org>
76 Paul Thomas <pault@gcc.gnu.org>
79 * trans-expr.c (gfc_trans_class_init_assign): Add call to
81 * module.c (read_cleanup): Do not use unique_symtrees for vtabs
84 2011-02-02 Janus Weil <janus@gcc.gnu.org>
87 * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
89 2011-02-01 Janus Weil <janus@gcc.gnu.org>
92 * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
93 pointer components with allocatable result.
95 2011-01-31 Janus Weil <janus@gcc.gnu.org>
98 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
99 with pointer or allocatable result.
101 2011-01-31 Paul Thomas <pault@gcc.gnu.org>
104 * trans-stmt.c (gfc_trans_allocate): Improve handling of
105 deferred character lengths with SOURCE.
106 * iresolve.c (gfc_resolve_repeat): Calculate character
107 length from source length and ncopies.
108 * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
109 expressions for ALLOCATE.
111 2011-01-31 Janus Weil <janus@gcc.gnu.org>
114 * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
115 an argument of a typebound assignment being a component.
117 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
119 * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
120 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
122 2011-01-31 Tobias Burnus <burnus@net-b.de>
125 * resolve.c (resolve_fl_procedure): Reject stmt functions
126 with pointer/allocatable attribute.
128 2011-01-31 Tobias Burnus <burnus@net-b.de>
131 * interface.c (gfc_procedure_use): Add explicit interface check for
132 pointer/allocatable functions.
134 2011-01-30 Paul Thomas <pault@gcc.gnu.org>
137 * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
138 expr and is assigned to a deferred character length scalar,
139 make sure that the function is called before reallocation,
140 so that the length is available. Include procedure pointer
141 and procedure pointer component rhs as well.
146 * gfortran.dg/allocatable_function_5.f90: New test not added by
147 mistake on 2011-01-28.
149 2011-01-29 Tobias Burnus <burnus@net-b.de>
152 * check.c (gfc_check_shape): Support kind argument in SHAPE.
153 * intrinsic.c (add_functions): Ditto.
154 * resolve.c (gfc_resolve_shape): Ditto.
155 * simplify.c (gfc_simplify_shape): Ditto.
156 * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
157 gfc_simplify_shape): Update prototypes.
158 * intrinisc.text (SHAPE): Document kind argument.
160 2011-01-28 Tobias Burnus <burnus@net-b.de>
163 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
164 attribute also without INTENT.
166 2011-01-28 Tobias Burnus <burnus@net-b.de>
168 * gfortran.texi (Fortran 2003 status): Mention support for
169 nonconstant namelist variables.
171 2011-01-28 Paul Thomas <pault@gcc.gnu.org>
172 Tobias Burnus <burnus@gcc.gnu.org>
177 * interface.c (compare_actual_formal): An allocatable or pointer
178 deferred length actual is only allowed if the formal argument
179 is also deferred length. Clean up whitespace.
180 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
181 deferred character length formal arguments by reference. Do the
182 same for function results.
183 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
184 and rhs character lengths, if deferred length lhs. In this case
185 set the lhs character length to that of the rhs.
186 (gfc_conv_string_parameter): Remove assert that string length is
188 (is_scalar_reallocatable_lhs): New function.
189 (alloc_scalar_allocatable_for_assignment): New function.
190 (gfc_trans_assignment_1): Call above new function. If the rhs is
191 a deferred character length itself, makes ure that the function
192 is called before reallocation, so that the length is available.
193 (gfc_trans_asssignment): Remove error about assignment to
194 deferred length character variables.
195 * gfortran.texi : Update entry about (re)allocation on
197 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
198 length character variables.
199 * module.c (mio_typespec): Transfer deferred characteristic.
200 * trans-types.c (gfc_get_function_type): New code to generate
201 hidden typelist, so that those character lengths that are
202 passed by reference get the right type.
203 * resolve.c (resolve_contained_fntype): Supress error for
204 deferred character length functions.
205 (resolve_function, resolve_fl_procedure) The same.
206 (check_symbols): Remove the error that support for
207 entity with deferred type parameter is not yet implemented.
208 (resolve_fl_derived): The same.
209 match.c (alloc_opt_list): Allow MOLD for deferred length object.
210 * trans-decl.c (gfc_get_symbol_decl): For deferred character
211 length dummies, generate a local variable for string length.
212 (create_function_arglist): Hidden length can be a pointer.
213 (gfc_trans_deferred_vars): For deferred character length
214 results and dummies, assign the string length to the local
215 variable from the hidden argument on entry and the other way
216 round on exit, as appropriate.
218 2011-01-27 Tobias Burnus <burnus@net-b.de>
221 * trans-decl.c (gfc_generate_function_code): Fix init
222 of allocatable result variable with allocatable components.
224 2011-01-27 Tobias Burnus <burnus@net-b.de>
227 * options.c (gfc_handle_module_path_options): Save
228 module path without trailing slash as include path.
230 2011-01-25 Tobias Burnus <burnus@net-b.de>
233 * interface.c (gfc_check_operator_interface): Fix
234 defined-assignment check.
236 2011-01-23 Tobias Burnus <burnus@net-b.de>
239 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
240 scalar allocatable dummy arguments.
242 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
245 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
246 check for array sections followed by component references
247 which are illegal. Also check for coindexed arguments.
249 2011-01-22 Tobias Burnus <burnus@net-b.de>
252 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
255 2011-01-21 Tobias Burnus <burnus@net-b.de>
258 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
259 Use defined instead of magic number exit status codes.
260 * scanner.c (include_line, gfc_new_file): Ditto.
262 2011-01-21 Tobias Burnus <burnus@net-b.de>
265 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
266 without pointer attribute.
268 2011-01-18 Janus Weil <janus@gcc.gnu.org>
271 * resolve.c (expression_rank): Fix rank of procedure poiner components.
272 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
273 pointer components as actual arguments.
275 2011-01-17 Jakub Jelinek <jakub@redhat.com>
278 * gfortran.h (struct gfc_omp_saved_state): New type.
279 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
280 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
282 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
285 2011-01-17 Tobias Burnus <burnus@net-b.de>
288 * invoke.texi (Options to request or suppress errors
289 and warnings): Fix cross link.
291 2011-01-15 Tobias Burnus <burnus@net-b.de>
293 * gfortran.texi: Update Fortran 2003 Status section.
296 * invoke.texi: Add missing "-E" to the -dM example.
298 2011-01-13 Tobias Burnus <burnus@net-b.de>
301 * intrinsic.texi (get_command_argument, get_environment_variable):
302 Mark arguments as optional in the Arguments section.
304 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
305 Tobias Burnus <burnus@net-b.de>
308 * trans-decl.c (gfc_get_extern_function_decl,
309 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
310 calling decl_attributes.
312 2011-01-13 Tobias Burnus <burnus@net-b.de>
313 Mikael Morin <mikael@gcc.gnu.org>
317 * gfortran.h (gfc_code): Move union ext's case_list into
319 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
321 * frontend-passes.c (gfc_code_walker): Ditto.
322 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
323 gfc_match_type_is, gfc_match_class_is): Ditto.
324 * resolve.c (resolve_select, resolve_select_type): Ditto.
325 * st.c (gfc_free_statement): Ditto.
326 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
327 gfc_trans_character_select): Ditto.
328 * parse.c (resolve_all_program_units): For error recovery, avoid
329 segfault is proc_name is NULL.
331 2011-01-11 Paul Thomas <pault@gcc.gnu.org>
334 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
335 to be standard compliant by testing for shape rather than size
336 before skipping reallocation. Improve comments.
338 2011-01-09 Janus Weil <janus@gcc.gnu.org>
341 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
344 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
347 * resolve.c (is_scalar_expr_ptr): For a substring reference,
348 use gfc_dep_compare_expr to compare start and end expession.
349 Add FIXME for using gfc_deb_compare_expr elsewhere.
351 2011-01-09 Janus Weil <janus@gcc.gnu.org>
354 * class.c (get_unique_type_string): Make type name start with upper
357 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
360 * invoke.texi: Mention -ffree-line-length-none and
361 -ffixed-line-length-none for preprocessing.
363 2011-01-08 Paul Thomas <pault@gcc.gnu.org>
366 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
367 procedure argument (eg TRANSPOSE) use a temporary if there is
368 any chance of aliasing due to host or use association.
369 (arrayfunc_assign_needs_temporary): Correct logic for function
370 results and do not use a temporary for implicitly PURE
371 variables. Use a temporary for Cray pointees.
372 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
373 implicit pureness of containing procedure.
374 * decl.c (match_old_style_init, gfc_match_data): Where decl
375 would fail in PURE procedure, set implicit_pure to zero.
376 * gfortran.h : Add implicit_pure to structure symbol_attr and
377 add prototype for function gfc_implicit_pure.
378 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
379 Where decl would fail in PURE procedure, reset implicit_pure.
380 * io.c (match_vtag, gfc_match_open, gfc_match_close,
381 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
382 * match.c (gfc_match_critical, gfc_match_stopcode,
383 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
385 * parse.c (decode_omp_directive): The same.
386 (parse_contained): If not PURE, set implicit pure attribute.
387 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
388 resolve_function, resolve_ordinary_assign) : The same.
389 (gfc_implicit_pure): New function.
390 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
391 to ab_attribute enum and use it in this function.
393 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
396 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
397 make static and move in front of its only caller, to ...
398 * trans-array.c (symbols_could_alias): ... here.
399 Pass information about pointer and target status as
400 arguments. Allocatable arrays don't alias anything
401 unless they have the POINTER attribute.
402 (gfc_could_be_alias): Keep track of pointer and target
403 status when following references. Also check if typespecs
404 of components match those of other components or symbols.
406 2011-01-07 Tobias Burnus <burnus@net-b.de>
409 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
410 * intrinsic.c (add_functions): Use simplify functions for
411 EXTENDS_TYPE_OF and SAME_TYPE_AS.
412 * intrinsic.h (gfc_simplify_extends_type_of,
413 gfc_simplify_same_type_as): New prototypes.
414 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
415 gfc_simplify_same_type_as): New functions.
417 2011-01-07 Janus Weil <janus@gcc.gnu.org>
421 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
422 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
424 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
425 * resolve.c (resolve_deallocate_expr): _data component will be added
426 at translation stage.
427 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
428 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
430 2011-01-06 Daniel Franke <franke.daniel@gmail.com>
434 * parse.c (parse_interface): Remove check for procedure types.
435 * interface.c (check_interface0): Verify that procedures are
436 either all SUBROUTINEs or all FUNCTIONs.
438 2011-01-05 Janus Weil <janus@gcc.gnu.org>
441 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
442 'vtab' is initialized).
444 2011-01-05 Janus Weil <janus@gcc.gnu.org>
447 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
448 assignment, set the _vptr component to the declared type.
450 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
453 * resolve.c (resolve_allocate_deallocate): Follow references to
454 check for duplicate occurence of allocation/deallocation objects.
456 2011-01-05 Janus Weil <janus@gcc.gnu.org>
459 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
460 of polymorphic allocatables according to their declared type.
462 2011-01-04 Janus Weil <janus@gcc.gnu.org>
465 * class.c (gfc_find_derived_vtab): Set the module field for the copying
466 routine to make sure it receives module name mangling.
468 2011-01-03 Jakub Jelinek <jakub@redhat.com>
470 * gfortranspec.c (lang_specific_driver): Update copyright notice
473 2011-01-03 Janus Weil <janus@gcc.gnu.org>
475 * intrinsic.texi (LEADZ): Fix example.
477 2011-01-02 Janus Weil <janus@gcc.gnu.org>
480 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
484 Copyright (C) 2011 Free Software Foundation, Inc.
486 Copying and distribution of this file, with or without modification,
487 are permitted in any medium without royalty provided the copyright
488 notice and this notice are preserved.