1 2011-01-28 Tobias Burnus <burnus@net-b.de>
4 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
5 attribute also without INTENT.
7 2011-01-28 Tobias Burnus <burnus@net-b.de>
9 * gfortran.texi (Fortran 2003 status): Mention support for
10 nonconstant namelist variables.
12 2011-01-28 Paul Thomas <pault@gcc.gnu.org>
13 Tobias Burnus <burnus@gcc.gnu.org>
18 * interface.c (compare_actual_formal): An allocatable or pointer
19 deferred length actual is only allowed if the formal argument
20 is also deferred length. Clean up whitespace.
21 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
22 deferred character length formal arguments by reference. Do the
23 same for function results.
24 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
25 and rhs character lengths, if deferred length lhs. In this case
26 set the lhs character length to that of the rhs.
27 (gfc_conv_string_parameter): Remove assert that string length is
29 (is_scalar_reallocatable_lhs): New function.
30 (alloc_scalar_allocatable_for_assignment): New function.
31 (gfc_trans_assignment_1): Call above new function. If the rhs is
32 a deferred character length itself, makes ure that the function
33 is called before reallocation, so that the length is available.
34 (gfc_trans_asssignment): Remove error about assignment to
35 deferred length character variables.
36 * gfortran.texi : Update entry about (re)allocation on
38 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
39 length character variables.
40 * module.c (mio_typespec): Transfer deferred characteristic.
41 * trans-types.c (gfc_get_function_type): New code to generate
42 hidden typelist, so that those character lengths that are
43 passed by reference get the right type.
44 * resolve.c (resolve_contained_fntype): Supress error for
45 deferred character length functions.
46 (resolve_function, resolve_fl_procedure) The same.
47 (check_symbols): Remove the error that support for
48 entity with deferred type parameter is not yet implemented.
49 (resolve_fl_derived): The same.
50 match.c (alloc_opt_list): Allow MOLD for deferred length object.
51 * trans-decl.c (gfc_get_symbol_decl): For deferred character
52 length dummies, generate a local variable for string length.
53 (create_function_arglist): Hidden length can be a pointer.
54 (gfc_trans_deferred_vars): For deferred character length
55 results and dummies, assign the string length to the local
56 variable from the hidden argument on entry and the other way
57 round on exit, as appropriate.
59 2011-01-27 Tobias Burnus <burnus@net-b.de>
62 * trans-decl.c (gfc_generate_function_code): Fix init
63 of allocatable result variable with allocatable components.
65 2011-01-27 Tobias Burnus <burnus@net-b.de>
68 * options.c (gfc_handle_module_path_options): Save
69 module path without trailing slash as include path.
71 2011-01-25 Tobias Burnus <burnus@net-b.de>
74 * interface.c (gfc_check_operator_interface): Fix
75 defined-assignment check.
77 2011-01-23 Tobias Burnus <burnus@net-b.de>
80 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
81 scalar allocatable dummy arguments.
83 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
86 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
87 check for array sections followed by component references
88 which are illegal. Also check for coindexed arguments.
90 2011-01-22 Tobias Burnus <burnus@net-b.de>
93 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
96 2011-01-21 Tobias Burnus <burnus@net-b.de>
99 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
100 Use defined instead of magic number exit status codes.
101 * scanner.c (include_line, gfc_new_file): Ditto.
103 2011-01-21 Tobias Burnus <burnus@net-b.de>
106 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
107 without pointer attribute.
109 2011-01-18 Janus Weil <janus@gcc.gnu.org>
112 * resolve.c (expression_rank): Fix rank of procedure poiner components.
113 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
114 pointer components as actual arguments.
116 2011-01-17 Jakub Jelinek <jakub@redhat.com>
119 * gfortran.h (struct gfc_omp_saved_state): New type.
120 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
121 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
123 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
126 2011-01-17 Tobias Burnus <burnus@net-b.de>
129 * invoke.texi (Options to request or suppress errors
130 and warnings): Fix cross link.
132 2011-01-15 Tobias Burnus <burnus@net-b.de>
134 * gfortran.texi: Update Fortran 2003 Status section.
137 * invoke.texi: Add missing "-E" to the -dM example.
139 2011-01-13 Tobias Burnus <burnus@net-b.de>
142 * intrinsic.texi (get_command_argument, get_environment_variable):
143 Mark arguments as optional in the Arguments section.
145 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
146 Tobias Burnus <burnus@net-b.de>
149 * trans-decl.c (gfc_get_extern_function_decl,
150 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
151 calling decl_attributes.
153 2011-01-13 Tobias Burnus <burnus@net-b.de>
154 Mikael Morin <mikael@gcc.gnu.org>
158 * gfortran.h (gfc_code): Move union ext's case_list into
160 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
162 * frontend-passes.c (gfc_code_walker): Ditto.
163 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
164 gfc_match_type_is, gfc_match_class_is): Ditto.
165 * resolve.c (resolve_select, resolve_select_type): Ditto.
166 * st.c (gfc_free_statement): Ditto.
167 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
168 gfc_trans_character_select): Ditto.
169 * parse.c (resolve_all_program_units): For error recovery, avoid
170 segfault is proc_name is NULL.
172 2011-01-11 Paul Thomas <pault@gcc.gnu.org>
175 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
176 to be standard compliant by testing for shape rather than size
177 before skipping reallocation. Improve comments.
179 2011-01-09 Janus Weil <janus@gcc.gnu.org>
182 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
185 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
188 * resolve.c (is_scalar_expr_ptr): For a substring reference,
189 use gfc_dep_compare_expr to compare start and end expession.
190 Add FIXME for using gfc_deb_compare_expr elsewhere.
192 2011-01-09 Janus Weil <janus@gcc.gnu.org>
195 * class.c (get_unique_type_string): Make type name start with upper
198 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
201 * invoke.texi: Mention -ffree-line-length-none and
202 -ffixed-line-length-none for preprocessing.
204 2011-01-08 Paul Thomas <pault@gcc.gnu.org>
207 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
208 procedure argument (eg TRANSPOSE) use a temporary if there is
209 any chance of aliasing due to host or use association.
210 (arrayfunc_assign_needs_temporary): Correct logic for function
211 results and do not use a temporary for implicitly PURE
212 variables. Use a temporary for Cray pointees.
213 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
214 implicit pureness of containing procedure.
215 * decl.c (match_old_style_init, gfc_match_data): Where decl
216 would fail in PURE procedure, set implicit_pure to zero.
217 * gfortran.h : Add implicit_pure to structure symbol_attr and
218 add prototype for function gfc_implicit_pure.
219 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
220 Where decl would fail in PURE procedure, reset implicit_pure.
221 * io.c (match_vtag, gfc_match_open, gfc_match_close,
222 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
223 * match.c (gfc_match_critical, gfc_match_stopcode,
224 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
226 * parse.c (decode_omp_directive): The same.
227 (parse_contained): If not PURE, set implicit pure attribute.
228 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
229 resolve_function, resolve_ordinary_assign) : The same.
230 (gfc_implicit_pure): New function.
231 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
232 to ab_attribute enum and use it in this function.
234 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
237 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
238 make static and move in front of its only caller, to ...
239 * trans-array.c (symbols_could_alias): ... here.
240 Pass information about pointer and target status as
241 arguments. Allocatable arrays don't alias anything
242 unless they have the POINTER attribute.
243 (gfc_could_be_alias): Keep track of pointer and target
244 status when following references. Also check if typespecs
245 of components match those of other components or symbols.
247 2011-01-07 Tobias Burnus <burnus@net-b.de>
250 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
251 * intrinsic.c (add_functions): Use simplify functions for
252 EXTENDS_TYPE_OF and SAME_TYPE_AS.
253 * intrinsic.h (gfc_simplify_extends_type_of,
254 gfc_simplify_same_type_as): New prototypes.
255 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
256 gfc_simplify_same_type_as): New functions.
258 2011-01-07 Janus Weil <janus@gcc.gnu.org>
262 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
263 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
265 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
266 * resolve.c (resolve_deallocate_expr): _data component will be added
267 at translation stage.
268 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
269 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
271 2011-01-06 Daniel Franke <franke.daniel@gmail.com>
275 * parse.c (parse_interface): Remove check for procedure types.
276 * interface.c (check_interface0): Verify that procedures are
277 either all SUBROUTINEs or all FUNCTIONs.
279 2011-01-05 Janus Weil <janus@gcc.gnu.org>
282 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
283 'vtab' is initialized).
285 2011-01-05 Janus Weil <janus@gcc.gnu.org>
288 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
289 assignment, set the _vptr component to the declared type.
291 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
294 * resolve.c (resolve_allocate_deallocate): Follow references to
295 check for duplicate occurence of allocation/deallocation objects.
297 2011-01-05 Janus Weil <janus@gcc.gnu.org>
300 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
301 of polymorphic allocatables according to their declared type.
303 2011-01-04 Janus Weil <janus@gcc.gnu.org>
306 * class.c (gfc_find_derived_vtab): Set the module field for the copying
307 routine to make sure it receives module name mangling.
309 2011-01-03 Jakub Jelinek <jakub@redhat.com>
311 * gfortranspec.c (lang_specific_driver): Update copyright notice
314 2011-01-03 Janus Weil <janus@gcc.gnu.org>
316 * intrinsic.texi (LEADZ): Fix example.
318 2011-01-02 Janus Weil <janus@gcc.gnu.org>
321 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
325 Copyright (C) 2011 Free Software Foundation, Inc.
327 Copying and distribution of this file, with or without modification,
328 are permitted in any medium without royalty provided the copyright
329 notice and this notice are preserved.