1 2014-04-30 Tobias Burnus <burnus@net-b.de>
3 * resolve.c (resolve_function): Don't do
4 assumed-size check for lcobound/ucobound.
5 * trans-types.c (gfc_build_array_type): Only build an array
6 descriptor with codimensions for allocatable coarrays.
8 2014-04-30 Tobias Burnus <burnus@net-b.de>
10 * gfortran.h (gfc_init_coarray_decl): Remove.
11 * parse.c (translate_all_program_units): Remove call to it.
12 (gfc_parse_file): Update call.
13 * trans.h (gfor_fndecl_caf_this_image,
14 gfor_fndecl_caf_num_images): Add.
15 (gfort_gvar_caf_num_images,
16 gfort_gvar_caf_this_image): Remove.
17 * trans-decl.c (gfor_fndecl_caf_this_image,
18 gfor_fndecl_caf_num_images): Add.
19 (gfort_gvar_caf_num_images,
20 gfort_gvar_caf_this_image): Remove.
21 (gfc_build_builtin_function_decls): Init new decl.
22 (gfc_init_coarray_dec): Remove.
23 (create_main_function): Change calls.
24 * trans-intrinsic.c (trans_this_image, trans_image_index,
25 conv_intrinsic_cobound): Generate call to new library function
26 instead of to a static variable.
27 * trans-stmt.c (gfc_trans_sync): Ditto.
29 2014-04-30 Tobias Burnus <burnus@net-b.de>
31 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
32 and derived-type coarrays.
34 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
38 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
39 * arith.c (gfc_int2int): Convert number to signed if
40 arithmetic overflow is not checked.
41 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
42 size if range checking is in force.
43 (convert_mpz_to_signed): Make non-static, rename to
44 (gfc_convert_mpz_to_signed).
45 (simplify_dshift): Use gfc_convert_mpz_to_signed.
46 (gfc_simplify_ibclr): Likewise.
47 (gfc_simplify_ibits): Likewise.
48 (gfc_simplify_ibset): Likewise.
49 (simplify_shift): Likewise.
50 (gfc_simplify_ishiftc): Likewise.
51 (gfc_simplify_maskr): Likewise.
52 (gfc_simplify_maskl): Likewise.
54 2014-04-22 Tobias Burnus <burnus@net-b.de>
57 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
60 2014-04-17 Jakub Jelinek <jakub@redhat.com>
62 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
63 argument is enum machine_mode.
65 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
69 * trans.h: Add 'use_offset' bitfield to gfc_se.
70 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
71 as a trigger to unconditionally recalculate the offset for
72 array slices and constant arrays.
73 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
74 trans-stmt.c (trans_associate_var): Ditto.
75 (gfc_conv_procedure_call): Ditto.
77 2014-04-11 Tobias Burnus <burnus@net-b.de>
81 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
82 and finalization wrappers are generated.
84 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
86 * intrinsic.texi (RANDOM_SEED): Improve example.
88 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
90 * class.c (gfc_build_class_symbol): Append "_t" to target class
91 names to make the generated type names unique.
93 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
96 * trans-types.c (gfc_get_function_type): In case of recursion
97 build a variadic function type with empty argument list instead of a
98 stdarg-like function type with incomplete argument list.
100 2014-04-04 Tobias Burnus <burnus@net-b.de>
102 * check.c (gfc_check_cmplx): Fix typo.
104 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
105 Tobias Burnus <burnus@net-b.de>
108 * trans-expr.c (gfc_conv_derived_to_class): Avoid
109 generation of out-of-bounds range expr.
111 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
114 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
117 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
120 * frontend-passes.c (cfe_code): Do not walk subtrees
123 2014-03-27 Tobias Burnus <burnus@net-b.de>
126 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
129 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
132 * fortran.texi: Document Volatile COMMON as not supported.
134 2014-03-22 Jakub Jelinek <jakub@redhat.com>
137 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
140 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
143 * gfortran.texi: Add description of namelist DELIM= behavior.
145 2014-03-19 Tobias Burnus <burnus@net-b.>
148 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
149 * resolve.c (resolve_ordinary_assign): Ditto.
151 2014-03-19 Tobias Burnus <burnus@net-b.de>
155 * gfortran.h (gfc_unset_implicit_pure): New prototype.
156 * resolve.c (gfc_unset_implicit_pure): New.
157 (resolve_structure_cons, resolve_function,
158 pure_subroutine): Use it.
159 * decl.c (match_old_style_init, gfc_match_data,
160 match_pointer_init, variable_decl): Ditto.
161 * expr.c (gfc_check_pointer_assign): Ditto.
162 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
163 * io.c (match_vtag, gfc_match_open, gfc_match_close,
164 match_filepos, gfc_match_inquire, gfc_match_print,
165 gfc_match_wait): Ditto.
166 * match.c (gfc_match_critical, gfc_match_stopcode,
167 lock_unlock_statement, sync_statement, gfc_match_allocate,
168 gfc_match_deallocate): Ditto.
169 * parse.c (decode_omp_directive): Ditto.
170 * symbol.c (gfc_add_save): Ditto.
172 2014-03-18 Janus Weil <janus@gcc.gnu.org>
176 * decl.c (match_attr_spec): Revert r208590.
178 2014-03-18 Jakub Jelinek <jakub@redhat.com>
181 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
184 2014-03-18 Tobias Burnus <burnus@net-b.de>
187 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
188 (gfc_trans_io_runtime_check): Remove.
189 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
190 as argument, add predictor to block.
191 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
192 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
193 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
194 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
195 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
197 * trans-expr.c (gfc_conv_procedure_call): Ditto.
198 * trans-stmt.c (gfc_trans_allocate): Ditto.
199 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
201 2014-03-15 Janus Weil <janus@gcc.gnu.org>
204 * decl.c (match_attr_spec): Variables in the main program implicitly
205 get the SAVE attribute in Fortran 2008.
207 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
210 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
211 if it has transposed dimensions.
213 2014-03-08 Tobias Burnus <burnus@net-b.de>
216 * f95-lang.c (gfc_init): Return false when only
218 * options.c (gfc_post_options): Ditto.
220 2014-03-08 Tobias Burnus <burnus@net-b.de>
222 * gfortran.texi (Fortran 2003 Status): Mention finalization,
223 deferred-length character support and input rounding.
224 (Fortran 2008 Status): Mention that at termination
225 signalling exceptions are shown.
227 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
228 Janus Weil <janus@gcc.gnu.org>
231 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
232 * primary.c (build_actual_constructor): It is not an error if
233 a missing component has the deferred_parameter attribute;
234 equally, if one is given a value, it is an error.
235 * resolve.c (resolve_fl_derived0): Remove error for deferred
236 character length components. Add the hidden string length
237 field to the structure. Give it the deferred_parameter
239 * trans-array.c (duplicate_allocatable): Add a strlen field
240 which is used as the element size if it is non-null.
241 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
242 NULL to the new argument in duplicate_allocatable.
243 (structure_alloc_comps): Set the hidden string length as
244 appropriate. Use it in calls to duplicate_allocatable.
245 (gfc_alloc_allocatable_for_assignment): When a deferred length
246 backend declaration is variable, use that; otherwise use the
247 string length from the expression evaluation.
248 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
249 character length component, the string length should have the
250 value of the hidden string length field.
251 (gfc_trans_subcomponent_assign): Set the hidden string length
252 field for deferred character length components. Allocate the
253 necessary memory for the string.
254 (alloc_scalar_allocatable_for_assignment): Same change as in
255 gfc_alloc_allocatable_for_assignment above.
256 * trans-stmt.c (gfc_trans_allocate): Likewise.
257 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
258 * trans-types.c (gfc_get_derived_type): Set the tree type for
259 a deferred character length component.
260 * trans.c (gfc_deferred_strlen): New function.
261 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
263 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
266 * frontend-passes.c (optimize_comparison): Guard two union accesses
267 with the corresponding tag checks.
269 2014-02-28 Janus Weil <janus@gcc.gnu.org>
272 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
273 procedure for characters.
275 2014-02-21 Janus Weil <janus@gcc.gnu.org>
278 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
281 2014-02-21 Janus Weil <janus@gcc.gnu.org>
284 * gfortran.h (gfc_build_class_symbol): Removed argument.
285 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
286 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
287 delayed now, except for unlimited polymorphics.
288 (comp_is_finalizable): Procedure pointer components are not finalizable.
289 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
290 'gfc_build_class_symbol'.
291 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
293 * symbol.c (gfc_set_default_type): Ditto.
295 2014-02-19 Janus Weil <janus@gcc.gnu.org>
298 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
299 functions, which are used as procedure pointer target.
301 2014-02-18 Tobias Burnus <burnus@net-b.de>
304 * expr.c (gfc_check_pointer_assign): Add check for
306 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
307 decl in a corner case.
309 2014-02-18 Janus Weil <janus@gcc.gnu.org>
312 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
313 arguments to prevent ICE.
315 2014-02-17 Janus Weil <janus@gcc.gnu.org>
318 * resolve.c (build_default_init_expr): Don't initialize character
319 variable if -fno-automatic is given.
321 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
324 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
327 2014-02-11 Jakub Jelinek <jakub@redhat.com>
330 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
331 on decl if sym->attr.optional.
333 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
336 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
337 attribute for the 'associate-name' if necessary.
338 * trans-stmt.c (trans_associate_var): If the 'associate-name'
339 is a subref_array_pointer, assign the element size of the
340 associate variable to 'span'.
342 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
345 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
346 actual argument to a formal argument with the value attribute
347 in an elemental procedure.
349 2014-02-08 Janus Weil <janus@gcc.gnu.org>
350 Mikael Morin <mikael.morin@gcc.gnu.org>
353 * class.c (generate_finalization_wrapper): Assert that proc_tree has
354 been set in gfc_resolve_finalizers.
355 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
358 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
361 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
364 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
367 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
370 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
373 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
374 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
375 pointer to the string is stored.
376 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
377 gfc_conv_string_parameter to ensure that a pointer to is passed
378 to the elemental function.
380 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
383 * trans-stmt.c (gfc_trans_allocate): Before the pointer
384 assignment to transfer the source _vptr to a class allocate
385 expression, the final class reference should be exposed. The
386 tail that includes the _data and array references is stored.
387 This reduced expression is transferred to 'lhs' and the _vptr
388 added. Then the tail is restored to the allocate expression.
390 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
393 * module.c (read_module): Assert for component name correctness.
395 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
398 * module.c (MOD_VERSION): Bump.
399 (fp2, find_pointer2): Remove.
400 (mio_component_ref): Don't forcedfully set the containing derived type
401 symbol for loading. Remove unused argument.
402 (mio_ref): Update caller
403 (mio_symbol): Dump component list earlier.
404 (skip_list): New argument nest_level. Initialize level with the new
406 (read_module): Add forced pointer components association for derived
409 2014-01-12 Janus Weil <janus@gcc.gnu.org>
412 * decl.c (gfc_match_data_decl): Improve error recovery.
414 2014-01-09 Tobias Burnus <burnus@net-b.de>
416 * cpp.c (gfc_cpp_handle_option): Add missing break.
417 * trans-io.c (transfer_expr): Silence unused value warning.
419 2014-01-08 Janus Weil <janus@gcc.gnu.org>
422 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
424 2014-01-06 Janus Weil <janus@gcc.gnu.org>
427 * class.c (comp_is_finalizable): New function to dermine if a given
428 component is finalizable.
429 (finalize_component, generate_finalization_wrapper): Use it.
431 2014-01-06 Janus Weil <janus@gcc.gnu.org>
435 * resolve.c (resolve_global_procedure): Don't apply to c-binding
437 (gfc_verify_binding_labels): Remove duplicate line.
439 2014-01-04 Janus Weil <janus@gcc.gnu.org>
442 * class.c (add_proc_comp): Copy pure attribute.
444 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
446 Update copyright years
448 2014-01-02 Tobias Burnus <burnus@net-b.de>
450 * gfortranspec.c (lang_specific_driver): Update copyright notice
452 * gfc-internals.texi: Bump @copying's copyright year.
453 * gfortran.texi: Ditto.
454 * intrinsic.texi: Ditto.
455 * invoke.texi: Ditto.
457 2014-01-02 Janus Weil <janus@gcc.gnu.org>
460 * resolve.c (resolve_typebound_procedures): No need to create the vtab
463 Copyright (C) 2014 Free Software Foundation, Inc.
465 Copying and distribution of this file, with or without modification,
466 are permitted in any medium without royalty provided the copyright
467 notice and this notice are preserved.