resolve.c (resolve_function): Don't do assumed-size check for lcobound/ucobound.
[official-gcc.git] / gcc / fortran / ChangeLog
blob1dcde5db695c3ccf06aadc135ac0bcf0c7e7276c
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>
36         PR fortran/59604
37         PR fortran/58003
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>
56         PR fortran/60881
57         * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
58         of scalar coarrays.
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>
67         PR fortran/58085
68         PR fortran/60717
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>
79         PR fortran/58880
80         PR fortran/60495
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>
95         PR fortran/60191
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>
107         PR fortran/60576
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>
113         PR fortran/60677
114         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
115         list buffer.
117 2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
119         PR fortran/60522
120         * frontend-passes.c (cfe_code):  Do not walk subtrees
121         for WHERE.
123 2014-03-27  Tobias Burnus  <burnus@net-b.de>
125         PR fortran/58880
126         * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
127         of nonpointers.
129 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
131         PR fortran/34928
132         * fortran.texi: Document Volatile COMMON as not supported.
134 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
136         PR debug/60603
137         * cpp.c (gfc_cpp_init): Restore cb_change_file call to
138         <built-in>.
140 2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
142         PR fortran/60148
143         * gfortran.texi: Add description of namelist DELIM= behavior.
145 2014-03-19  Tobias Burnus  <burnus@net-b.>
147         PR fortran/60543
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>
153         PR fortran/60543
154         PR fortran/60283
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>
174         PR fortran/55207
175         PR fortran/60549
176         * decl.c (match_attr_spec): Revert r208590.
178 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
180         PR ipa/58721
181         * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
182         if !optimize.
184 2014-03-18  Tobias Burnus  <burnus@net-b.de>
186         PR ipa/58721
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
196         branch predictor.
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>
203         PR fortran/55207
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>
209         PR fortran/60392
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>
215         PR fortran/60447
216         * f95-lang.c (gfc_init): Return false when only
217         preprocessing.
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>
230         PR fortran/51976
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
238         attribute.
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>
265         PR fortran/60341
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>
271         PR fortran/60359
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>
277         PR fortran/60302
278         * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
279         is successful.
281 2014-02-21  Janus Weil  <janus@gcc.gnu.org>
283         PR fortran/60234
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):
292         Ditto.
293         * symbol.c (gfc_set_default_type): Ditto.
295 2014-02-19  Janus Weil  <janus@gcc.gnu.org>
297         PR fortran/60232
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>
303         PR fortran/49397
304         * expr.c (gfc_check_pointer_assign): Add check for
305         F2008Cor2, C729.
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>
311         PR fortran/60231
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>
317         PR fortran/55907
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>
323         PR fortran/59599
324         * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
325         number of arguments.
327 2014-02-11  Jakub Jelinek  <jakub@redhat.com>
329         PR fortran/52370
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>
335         PR fortran/57522
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>
344         PR fortran/59026
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>
352         PR fortran/58470
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
356         gfc_is_finalizable.
358 2014-02-07  Benno Schulenberg  <bensberg@justemail.net>
360         PR translation/52289
361         * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
362         in an error message.
364 2014-02-02  Mikael Morin  <mikael@gcc.gnu.org>
366         PR fortran/57033
367         * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
368         dereference.
370 2014-02-01  Paul Thomas  <pault@gcc.gnu.org>
372         PR fortran/59906
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>
382         PR fortran/59414
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>
392         PR fortran/58007
393         * module.c (read_module): Assert for component name correctness.
395 2014-01-18  Mikael Morin  <mikael@gcc.gnu.org>
397         PR fortran/58007
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
405         argument.
406         (read_module): Add forced pointer components association for derived
407         type symbols.
409 2014-01-12  Janus Weil  <janus@gcc.gnu.org>
411         PR fortran/58026
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>
421         PR fortran/58182
422         * resolve.c (gfc_verify_binding_labels): Modify order of checks.
424 2014-01-06  Janus Weil  <janus@gcc.gnu.org>
426         PR fortran/59589
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>
433         PR fortran/59023
434         PR fortran/59662
435         * resolve.c (resolve_global_procedure): Don't apply to c-binding
436         procedures.
437         (gfc_verify_binding_labels): Remove duplicate line.
439 2014-01-04  Janus Weil  <janus@gcc.gnu.org>
441         PR fortran/59547
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
451         dates.
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>
459         PR fortran/59654
460         * resolve.c (resolve_typebound_procedures): No need to create the vtab
461         here.
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.