1 2011-02-09 Janus Weil <janus@gcc.gnu.org>
4 * resolve.c (resolve_procedure_interface): If interface has a result
5 variable, copy the typespec and set result pointer to self.
7 2011-02-09 Janus Weil <janus@gcc.gnu.org>
10 * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
12 2011-02-09 Janus Weil <janus@gcc.gnu.org>
15 * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
17 2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
19 * io.c (match_io_element): Do not set dt if not inquire.
21 2011-02-08 Janus Weil <janus@gcc.gnu.org>
24 * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
25 initialization target.
27 2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30 * gfortran.texi (Thread-safety): texinfo styling fixes.
31 * intrinsic.texi: Likewise.
33 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
35 * gfortran.texi (Compiler Characteristics): Add reference to
36 thread-safety section.
38 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
40 * gfortran.texi (Thread-safety): New section.
41 * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
43 (GET_ENVIRONMENT_VARIABLE): Likewise.
46 2011-02-06 Paul Thomas <pault@gcc.gnu.org>
49 * trans-stmt.c (gfc_trans_allocate): For deferred character
50 length allocations with SOURCE, store to the values and string
51 length to avoid calculating twice. Replace gfc_start_block
52 with gfc_init_block to avoid unnecessary contexts and to keep
53 declarations of temporaries where they should be. Tidy up the
56 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
59 * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
61 2011-02-02 Janus Weil <janus@gcc.gnu.org>
62 Paul Thomas <pault@gcc.gnu.org>
65 * trans-expr.c (gfc_trans_class_init_assign): Add call to
67 * module.c (read_cleanup): Do not use unique_symtrees for vtabs
70 2011-02-02 Janus Weil <janus@gcc.gnu.org>
73 * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
75 2011-02-01 Janus Weil <janus@gcc.gnu.org>
78 * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
79 pointer components with allocatable result.
81 2011-01-31 Janus Weil <janus@gcc.gnu.org>
84 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
85 with pointer or allocatable result.
87 2011-01-31 Paul Thomas <pault@gcc.gnu.org>
90 * trans-stmt.c (gfc_trans_allocate): Improve handling of
91 deferred character lengths with SOURCE.
92 * iresolve.c (gfc_resolve_repeat): Calculate character
93 length from source length and ncopies.
94 * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
95 expressions for ALLOCATE.
97 2011-01-31 Janus Weil <janus@gcc.gnu.org>
100 * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
101 an argument of a typebound assignment being a component.
103 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
105 * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
106 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
108 2011-01-31 Tobias Burnus <burnus@net-b.de>
111 * resolve.c (resolve_fl_procedure): Reject stmt functions
112 with pointer/allocatable attribute.
114 2011-01-31 Tobias Burnus <burnus@net-b.de>
117 * interface.c (gfc_procedure_use): Add explicit interface check for
118 pointer/allocatable functions.
120 2011-01-30 Paul Thomas <pault@gcc.gnu.org>
123 * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
124 expr and is assigned to a deferred character length scalar,
125 make sure that the function is called before reallocation,
126 so that the length is available. Include procedure pointer
127 and procedure pointer component rhs as well.
132 * gfortran.dg/allocatable_function_5.f90: New test not added by
133 mistake on 2011-01-28.
135 2011-01-29 Tobias Burnus <burnus@net-b.de>
138 * check.c (gfc_check_shape): Support kind argument in SHAPE.
139 * intrinsic.c (add_functions): Ditto.
140 * resolve.c (gfc_resolve_shape): Ditto.
141 * simplify.c (gfc_simplify_shape): Ditto.
142 * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
143 gfc_simplify_shape): Update prototypes.
144 * intrinisc.text (SHAPE): Document kind argument.
146 2011-01-28 Tobias Burnus <burnus@net-b.de>
149 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
150 attribute also without INTENT.
152 2011-01-28 Tobias Burnus <burnus@net-b.de>
154 * gfortran.texi (Fortran 2003 status): Mention support for
155 nonconstant namelist variables.
157 2011-01-28 Paul Thomas <pault@gcc.gnu.org>
158 Tobias Burnus <burnus@gcc.gnu.org>
163 * interface.c (compare_actual_formal): An allocatable or pointer
164 deferred length actual is only allowed if the formal argument
165 is also deferred length. Clean up whitespace.
166 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
167 deferred character length formal arguments by reference. Do the
168 same for function results.
169 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
170 and rhs character lengths, if deferred length lhs. In this case
171 set the lhs character length to that of the rhs.
172 (gfc_conv_string_parameter): Remove assert that string length is
174 (is_scalar_reallocatable_lhs): New function.
175 (alloc_scalar_allocatable_for_assignment): New function.
176 (gfc_trans_assignment_1): Call above new function. If the rhs is
177 a deferred character length itself, makes ure that the function
178 is called before reallocation, so that the length is available.
179 (gfc_trans_asssignment): Remove error about assignment to
180 deferred length character variables.
181 * gfortran.texi : Update entry about (re)allocation on
183 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
184 length character variables.
185 * module.c (mio_typespec): Transfer deferred characteristic.
186 * trans-types.c (gfc_get_function_type): New code to generate
187 hidden typelist, so that those character lengths that are
188 passed by reference get the right type.
189 * resolve.c (resolve_contained_fntype): Supress error for
190 deferred character length functions.
191 (resolve_function, resolve_fl_procedure) The same.
192 (check_symbols): Remove the error that support for
193 entity with deferred type parameter is not yet implemented.
194 (resolve_fl_derived): The same.
195 match.c (alloc_opt_list): Allow MOLD for deferred length object.
196 * trans-decl.c (gfc_get_symbol_decl): For deferred character
197 length dummies, generate a local variable for string length.
198 (create_function_arglist): Hidden length can be a pointer.
199 (gfc_trans_deferred_vars): For deferred character length
200 results and dummies, assign the string length to the local
201 variable from the hidden argument on entry and the other way
202 round on exit, as appropriate.
204 2011-01-27 Tobias Burnus <burnus@net-b.de>
207 * trans-decl.c (gfc_generate_function_code): Fix init
208 of allocatable result variable with allocatable components.
210 2011-01-27 Tobias Burnus <burnus@net-b.de>
213 * options.c (gfc_handle_module_path_options): Save
214 module path without trailing slash as include path.
216 2011-01-25 Tobias Burnus <burnus@net-b.de>
219 * interface.c (gfc_check_operator_interface): Fix
220 defined-assignment check.
222 2011-01-23 Tobias Burnus <burnus@net-b.de>
225 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
226 scalar allocatable dummy arguments.
228 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
231 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
232 check for array sections followed by component references
233 which are illegal. Also check for coindexed arguments.
235 2011-01-22 Tobias Burnus <burnus@net-b.de>
238 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
241 2011-01-21 Tobias Burnus <burnus@net-b.de>
244 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
245 Use defined instead of magic number exit status codes.
246 * scanner.c (include_line, gfc_new_file): Ditto.
248 2011-01-21 Tobias Burnus <burnus@net-b.de>
251 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
252 without pointer attribute.
254 2011-01-18 Janus Weil <janus@gcc.gnu.org>
257 * resolve.c (expression_rank): Fix rank of procedure poiner components.
258 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
259 pointer components as actual arguments.
261 2011-01-17 Jakub Jelinek <jakub@redhat.com>
264 * gfortran.h (struct gfc_omp_saved_state): New type.
265 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
266 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
268 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
271 2011-01-17 Tobias Burnus <burnus@net-b.de>
274 * invoke.texi (Options to request or suppress errors
275 and warnings): Fix cross link.
277 2011-01-15 Tobias Burnus <burnus@net-b.de>
279 * gfortran.texi: Update Fortran 2003 Status section.
282 * invoke.texi: Add missing "-E" to the -dM example.
284 2011-01-13 Tobias Burnus <burnus@net-b.de>
287 * intrinsic.texi (get_command_argument, get_environment_variable):
288 Mark arguments as optional in the Arguments section.
290 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
291 Tobias Burnus <burnus@net-b.de>
294 * trans-decl.c (gfc_get_extern_function_decl,
295 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
296 calling decl_attributes.
298 2011-01-13 Tobias Burnus <burnus@net-b.de>
299 Mikael Morin <mikael@gcc.gnu.org>
303 * gfortran.h (gfc_code): Move union ext's case_list into
305 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
307 * frontend-passes.c (gfc_code_walker): Ditto.
308 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
309 gfc_match_type_is, gfc_match_class_is): Ditto.
310 * resolve.c (resolve_select, resolve_select_type): Ditto.
311 * st.c (gfc_free_statement): Ditto.
312 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
313 gfc_trans_character_select): Ditto.
314 * parse.c (resolve_all_program_units): For error recovery, avoid
315 segfault is proc_name is NULL.
317 2011-01-11 Paul Thomas <pault@gcc.gnu.org>
320 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
321 to be standard compliant by testing for shape rather than size
322 before skipping reallocation. Improve comments.
324 2011-01-09 Janus Weil <janus@gcc.gnu.org>
327 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
330 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
333 * resolve.c (is_scalar_expr_ptr): For a substring reference,
334 use gfc_dep_compare_expr to compare start and end expession.
335 Add FIXME for using gfc_deb_compare_expr elsewhere.
337 2011-01-09 Janus Weil <janus@gcc.gnu.org>
340 * class.c (get_unique_type_string): Make type name start with upper
343 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
346 * invoke.texi: Mention -ffree-line-length-none and
347 -ffixed-line-length-none for preprocessing.
349 2011-01-08 Paul Thomas <pault@gcc.gnu.org>
352 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
353 procedure argument (eg TRANSPOSE) use a temporary if there is
354 any chance of aliasing due to host or use association.
355 (arrayfunc_assign_needs_temporary): Correct logic for function
356 results and do not use a temporary for implicitly PURE
357 variables. Use a temporary for Cray pointees.
358 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
359 implicit pureness of containing procedure.
360 * decl.c (match_old_style_init, gfc_match_data): Where decl
361 would fail in PURE procedure, set implicit_pure to zero.
362 * gfortran.h : Add implicit_pure to structure symbol_attr and
363 add prototype for function gfc_implicit_pure.
364 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
365 Where decl would fail in PURE procedure, reset implicit_pure.
366 * io.c (match_vtag, gfc_match_open, gfc_match_close,
367 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
368 * match.c (gfc_match_critical, gfc_match_stopcode,
369 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
371 * parse.c (decode_omp_directive): The same.
372 (parse_contained): If not PURE, set implicit pure attribute.
373 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
374 resolve_function, resolve_ordinary_assign) : The same.
375 (gfc_implicit_pure): New function.
376 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
377 to ab_attribute enum and use it in this function.
379 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
382 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
383 make static and move in front of its only caller, to ...
384 * trans-array.c (symbols_could_alias): ... here.
385 Pass information about pointer and target status as
386 arguments. Allocatable arrays don't alias anything
387 unless they have the POINTER attribute.
388 (gfc_could_be_alias): Keep track of pointer and target
389 status when following references. Also check if typespecs
390 of components match those of other components or symbols.
392 2011-01-07 Tobias Burnus <burnus@net-b.de>
395 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
396 * intrinsic.c (add_functions): Use simplify functions for
397 EXTENDS_TYPE_OF and SAME_TYPE_AS.
398 * intrinsic.h (gfc_simplify_extends_type_of,
399 gfc_simplify_same_type_as): New prototypes.
400 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
401 gfc_simplify_same_type_as): New functions.
403 2011-01-07 Janus Weil <janus@gcc.gnu.org>
407 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
408 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
410 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
411 * resolve.c (resolve_deallocate_expr): _data component will be added
412 at translation stage.
413 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
414 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
416 2011-01-06 Daniel Franke <franke.daniel@gmail.com>
420 * parse.c (parse_interface): Remove check for procedure types.
421 * interface.c (check_interface0): Verify that procedures are
422 either all SUBROUTINEs or all FUNCTIONs.
424 2011-01-05 Janus Weil <janus@gcc.gnu.org>
427 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
428 'vtab' is initialized).
430 2011-01-05 Janus Weil <janus@gcc.gnu.org>
433 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
434 assignment, set the _vptr component to the declared type.
436 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
439 * resolve.c (resolve_allocate_deallocate): Follow references to
440 check for duplicate occurence of allocation/deallocation objects.
442 2011-01-05 Janus Weil <janus@gcc.gnu.org>
445 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
446 of polymorphic allocatables according to their declared type.
448 2011-01-04 Janus Weil <janus@gcc.gnu.org>
451 * class.c (gfc_find_derived_vtab): Set the module field for the copying
452 routine to make sure it receives module name mangling.
454 2011-01-03 Jakub Jelinek <jakub@redhat.com>
456 * gfortranspec.c (lang_specific_driver): Update copyright notice
459 2011-01-03 Janus Weil <janus@gcc.gnu.org>
461 * intrinsic.texi (LEADZ): Fix example.
463 2011-01-02 Janus Weil <janus@gcc.gnu.org>
466 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
470 Copyright (C) 2011 Free Software Foundation, Inc.
472 Copying and distribution of this file, with or without modification,
473 are permitted in any medium without royalty provided the copyright
474 notice and this notice are preserved.