2016-01-15 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / fortran / ChangeLog
blob5ad05ce6e7fa4657f9947a682a889a1df95b45e9
1 2016-01-15  Paul Thomas  <pault@gcc.gnu.org>
3         PR fortran/64324
4         * resolve.c (check_uop_procedure): Prevent deferred length
5         characters from being trapped by assumed length error.
7         PR fortran/49630
8         PR fortran/54070
9         PR fortran/60593
10         PR fortran/60795
11         PR fortran/61147
12         PR fortran/64324
13         * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
14         function as well as variable expressions.
15         (gfc_array_init_size): Add 'expr' as an argument. Use this to
16         correctly set the descriptor dtype for deferred characters.
17         (gfc_array_allocate): Add 'expr' to the call to
18         'gfc_array_init_size'.
19         * trans.c (gfc_build_array_ref): Expand logic for setting span
20         to include indirect references to character lengths.
21         * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
22         result char lengths that are PARM_DECLs are indirectly
23         referenced both for directly passed and by reference.
24         (create_function_arglist): If the length type is a pointer type
25         then store the length as the 'passed_length' and make the char
26         length an indirect reference to it.
27         (gfc_trans_deferred_vars): If a character length has escaped
28         being set as an indirect reference, return it via the 'passed
29         length'.
30         * trans-expr.c (gfc_conv_procedure_call): The length of
31         deferred character length results is set TREE_STATIC and set to
32         zero.
33         (gfc_trans_assignment_1): Do not fix the rse string_length if
34         it is a variable, a parameter or an indirect reference. Add the
35         code to trap assignment of scalars to unallocated arrays.
36         * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
37         all references to it. Instead, replicate the code to obtain a
38         explicitly defined string length and provide a value before
39         array allocation so that the dtype is correctly set.
40         trans-types.c (gfc_get_character_type): If the character length
41         is a pointer, use the indirect reference.
43 2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
45         PR fortran/69154
46         * frontend-passes.c (in_where):  New variable.
47         (inline_matmul_assign):  Don't try this if we are within
48         a WHERE statement.
49         (gfc_code_walker):  Keep track of in_where.
51 2016-01-10  Paul Thomas  <pault@gcc.gnu.org>
53         PR fortran/67779
54         * trans_array.c (gfc_conv_scalarized_array_ref): Add missing
55         se->use_offset from condition for calculation of 'base'.
57 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
59         PR fortran/69128
60         * trans.h (OMPWS_SCALARIZER_BODY): Define.
61         (OMPWS_NOWAIT): Renumber.
62         * trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
63         if OMPWS_SCALARIZER_BODY is not set already, and set also
64         OMPWS_SCALARIZER_BODY until the final loop creation.
65         * trans-expr.c (gfc_trans_assignment_1): Likewise.
66         * trans-openmp.c (gfc_trans_omp_workshare): Also clear
67         OMPWS_SCALARIZER_BODY.
68         * trans-array.c (gfc_trans_scalarized_loop_end): Don't create
69         OMP_FOR if OMPWS_SCALARIZER_BODY is set.
71 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
73         Update copyright years.
75         * gfortranspec.c (lang_specific_driver): Update copyright notice
76         dates.
77         * gfc-internals.texi: Bump @copying's copyright year.
78         * gfortran.texi: Ditto.
79         * intrinsic.texi: Ditto.
80         * invoke.texi: Ditto.
82 2016-01-01  Paul Thomas  <pault@gcc.gnu.org>
84         PR fortran/68864
85         * trans-array.c (evaluate_bound): If deferred, test that 'desc'
86         is an array descriptor before using gfc_conv_descriptor_xxx.
88 Copyright (C) 2016 Free Software Foundation, Inc.
90 Copying and distribution of this file, with or without modification,
91 are permitted in any medium without royalty provided the copyright
92 notice and this notice are preserved.