]>
Commit | Line | Data |
---|---|---|
85c2c761 JB |
1 | 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> |
2 | ||
e10e60cb JB |
3 | PR fortran/83740 |
4 | * trans-array.c (gfc_trans_array_ctor_element): Fix formatting. | |
5 | ||
6 | 2018-01-10 Janne Blomqvist <jb@gcc.gnu.org> | |
7 | ||
8 | PR fortran/83740 | |
85c2c761 JB |
9 | * trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the |
10 | LHS type when assigning. | |
11 | ||
d4319ef8 SK |
12 | 2018-01-09 Steven G. Kargl <kargl@gcc.gnu.org> |
13 | ||
14 | PR fortran/83742 | |
15 | * expr.c (gfc_is_simply_contiguous): Check for NULL pointer. | |
16 | ||
8799df67 SK |
17 | 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> |
18 | ||
19 | * match.c (gfc_match_allocate): Check for NULL pointer. | |
20 | ||
a4f759de SK |
21 | 2018-01-08 Steven G. Kargl <kargl@gcc.gnu.org> |
22 | ||
23 | * expr.c (gfc_check_pointer_assign): Fix typo in comment. | |
24 | ||
0b627b58 PT |
25 | 2018-01-08 Paul Thomas <pault@gcc.gnu.org> |
26 | ||
27 | PR fortran/83611 | |
28 | * decl.c (gfc_get_pdt_instance): If parameterized arrays have | |
29 | an initializer, convert the kind parameters and add to the | |
30 | component if the instance. | |
31 | * trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and | |
32 | use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable' | |
33 | for parameterized arrays. Clean up typos in comments. Convert | |
34 | parameterized array initializers and copy into the array. | |
35 | * trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for | |
36 | parameterized types. | |
37 | *trans-stmt.c (trans_associate_var): Deallocate associate vars | |
38 | as necessary, when they are PDT function results for example. | |
39 | ||
40 | PR fortran/83731 | |
41 | * trans-array.c (structure_alloc_comps): Only compare len parms | |
42 | when they are declared explicitly. | |
43 | ||
ee2d3987 JB |
44 | 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org> |
45 | ||
46 | PR fortran/50892 | |
47 | * trans-expr.c (gfc_trans_pointer_assignment): fold_convert rhs to | |
48 | lhs type. | |
49 | ||
f622221a JB |
50 | 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org> |
51 | ||
52 | PR fortran/78534 | |
53 | PR fortran/66310 | |
54 | * array.c (got_charlen): Use gfc_charlen_int_kind. | |
55 | * class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of | |
56 | hardcoded kind. | |
57 | (find_intrinsic_vtab): Likewise. | |
58 | * decl.c (match_char_length): Use gfc_charlen_int_kind. | |
59 | (add_init_expr_to_sym): Use gfc_charlen_t and gfc_charlen_int_kind. | |
60 | (gfc_match_implicit): Use gfc_charlen_int_kind. | |
61 | * dump-parse-tree.c (show_char_const): Use gfc_charlen_t and size_t. | |
62 | (show_expr): Use HOST_WIDE_INT_PRINT_DEC. | |
63 | * expr.c (gfc_get_character_expr): Length parameter of type | |
64 | gfc_charlen_t. | |
65 | (gfc_get_int_expr): Value argument of type HOST_WIDE_INT. | |
66 | (gfc_extract_hwi): New function. | |
67 | (simplify_const_ref): Make string_len of type gfc_charlen_t. | |
68 | (gfc_simplify_expr): Use HOST_WIDE_INT for substring refs. | |
69 | * frontend-passes.c (optimize_trim): Use gfc_charlen_int_kind. | |
70 | * gfortran.h (gfc_mpz_get_hwi): New prototype. | |
71 | (gfc_mpz_set_hwi): Likewise. | |
72 | (gfc_charlen_t): New typedef. | |
73 | (gfc_expr): Use gfc_charlen_t for character lengths. | |
74 | (gfc_size_kind): New extern variable. | |
75 | (gfc_extract_hwi): New prototype. | |
76 | (gfc_get_character_expr): Use gfc_charlen_t for character length. | |
77 | (gfc_get_int_expr): Use HOST_WIDE_INT type for value argument. | |
78 | * gfortran.texi: Update description of hidden string length argument. | |
79 | * iresolve.c (check_charlen_present): Use gfc_charlen_int_kind. | |
80 | (gfc_resolve_char_achar): Likewise. | |
81 | (gfc_resolve_repeat): Pass string length directly without | |
82 | temporary, use gfc_charlen_int_kind. | |
83 | (gfc_resolve_transfer): Use gfc_charlen_int_kind. | |
84 | * match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen. | |
85 | * misc.c (gfc_mpz_get_hwi): New function. | |
86 | (gfc_mpz_set_hwi): New function. | |
87 | * module.c (atom_int): Change type from int to HOST_WIDE_INT. | |
88 | (parse_integer): Don't complain about large integers. | |
89 | (write_atom): Use HOST_WIDE_INT for integers. | |
90 | (mio_integer): Handle integer type mismatch. | |
91 | (mio_hwi): New function. | |
92 | (mio_intrinsic_op): Use HOST_WIDE_INT. | |
93 | (mio_array_ref): Likewise. | |
94 | (mio_expr): Likewise. | |
95 | * primary.c (match_substring): Use gfc_charlen_int_kind. | |
96 | * resolve.c (resolve_substring_charlen): Use gfc_charlen_int_kind. | |
97 | (resolve_character_operator): Likewise. | |
98 | (resolve_assoc_var): Likewise. | |
99 | (resolve_select_type): Use HOST_WIDE_INT for charlen, use snprintf. | |
100 | (resolve_charlen): Use mpz_sgn to determine sign. | |
101 | * simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t | |
102 | instead of long. | |
103 | * symbol.c (generate_isocbinding_symbol): Use gfc_charlen_int_kind. | |
104 | * target-memory.c (size_character): Length argument of type | |
105 | gfc_charlen_t. | |
106 | (gfc_encode_character): Likewise. | |
107 | (gfc_interpret_character): Use gfc_charlen_t. | |
108 | * target-memory.h (gfc_encode_character): Modify prototype. | |
109 | * trans-array.c (gfc_trans_array_ctor_element): Use existing type. | |
110 | (get_array_ctor_var_strlen): Use gfc_conv_mpz_to_tree_type. | |
111 | (trans_array_constructor): Use existing type. | |
112 | (get_array_charlen): Likewise. | |
113 | * trans-const.c (gfc_conv_mpz_to_tree_type): New function. | |
114 | * trans-const.h (gfc_conv_mpz_to_tree_type): New prototype. | |
115 | * trans-decl.c (gfc_trans_deferred_vars): Use existing type. | |
116 | (add_argument_checking): Likewise. | |
117 | * trans-expr.c (gfc_class_len_or_zero_get): Build const of type | |
118 | gfc_charlen_type_node. | |
119 | (gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of | |
120 | 4, fold_convert to correct type. | |
121 | (gfc_conv_class_to_class): Build const of type size_type_node for | |
122 | size. | |
123 | (gfc_copy_class_to_class): Likewise. | |
124 | (gfc_conv_string_length): Use same type in expression. | |
125 | (gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen. | |
126 | (gfc_conv_string_tmp): Make sure len is of the right type. | |
127 | (gfc_conv_concat_op): Use same type in expression. | |
128 | (gfc_conv_procedure_call): Likewise. | |
129 | (fill_with_spaces): Comment out memset() block due to spurious | |
130 | -Wstringop-overflow warnings. | |
131 | (gfc_trans_string_copy): Use gfc_charlen_type_node. | |
132 | (alloc_scalar_allocatable_for_subcomponent_assignment): | |
133 | fold_convert to right type. | |
134 | (gfc_trans_subcomponent_assign): Likewise. | |
135 | (trans_class_vptr_len_assignment): Build const of correct type. | |
136 | (gfc_trans_pointer_assignment): Likewise. | |
137 | (alloc_scalar_allocatable_for_assignment): fold_convert to right | |
138 | type in expr. | |
139 | (trans_class_assignment): Build const of correct type. | |
140 | * trans-intrinsic.c (gfc_conv_associated): Likewise. | |
141 | (gfc_conv_intrinsic_repeat): Do calculation in sizetype. | |
142 | * trans-io.c (gfc_build_io_library_fndecls): Use | |
143 | gfc_charlen_type_node for character lengths. | |
144 | (set_string): Convert to right type in assignment. | |
145 | * trans-stmt.c (gfc_trans_label_assign): Build const of | |
146 | gfc_charlen_type_node. | |
147 | (trans_associate_var): Likewise. | |
148 | (gfc_trans_character_select): Likewise. | |
149 | (gfc_trans_allocate): Likewise, don't typecast strlen result. | |
150 | (gfc_trans_deallocate): Don't typecast strlen result. | |
151 | * trans-types.c (gfc_size_kind): New variable. | |
152 | (gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind | |
153 | from size_type_node. | |
154 | * trans-types.h: Fix comment. | |
155 | ||
fbd35ba1 TK |
156 | 2018-01-04 Thomas Koenig <tkoenig@gcc.gnu.org> |
157 | ||
158 | PR fortran/83683 | |
159 | PR fortran/45689 | |
160 | * check.c (gfc_check_eoshift): Check for string length and | |
161 | for conformance of boundary. | |
162 | * intrinsic.c (add_functions): Add gfc_simplify_eoshift. | |
163 | * intrinsic.h: Add prototype for gfc_simplify_eoshift. | |
164 | * simplify.c (gfc_simplify_eoshift): New function. | |
165 | ||
5c0caeb3 RS |
166 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
167 | Alan Hayward <alan.hayward@arm.com> | |
168 | David Sherwood <david.sherwood@arm.com> | |
169 | ||
170 | * trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL. | |
171 | ||
928686b1 RS |
172 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
173 | Alan Hayward <alan.hayward@arm.com> | |
174 | David Sherwood <david.sherwood@arm.com> | |
175 | ||
176 | * trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p. | |
177 | ||
8987beac TK |
178 | 2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org> |
179 | ||
180 | PR fortran/83664 | |
181 | * check.c (gfc_check_eoshift): Error for missing boundary if array | |
182 | is not one of the standard types. | |
183 | ||
65e6aea3 JJ |
184 | 2018-01-03 Jakub Jelinek <jakub@redhat.com> |
185 | ||
85ec4feb JJ |
186 | Update copyright years. |
187 | ||
65e6aea3 JJ |
188 | * gfortranspec.c (lang_specific_driver): Update copyright notice |
189 | dates. | |
190 | * gfc-internals.texi: Bump @copying's copyright year. | |
191 | * gfortran.texi: Ditto. | |
192 | * intrinsic.texi: Ditto. | |
193 | * invoke.texi: Ditto. | |
194 | ||
a1d6c052 TK |
195 | 2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
196 | ||
197 | PR fortran/45689 | |
198 | * intrinsic.c (add_function): Add gfc_simplify_maxloc and | |
199 | gfc_simplify_minloc to maxloc and minloc, respectively. | |
200 | * intrinsic.h: Add prototypes for gfc_simplify_minloc | |
201 | and gfc_simplify_maxloc. | |
202 | * simplify.c (min_max_chose): Adjust prototype. Modify function | |
203 | to have a return value which indicates if the extremum was found. | |
204 | (is_constant_array_expr): Fix typo in comment. | |
205 | (simplify_minmaxloc_to_scalar): New function. | |
206 | (simplify_minmaxloc_nodim): New function. | |
207 | (new_array): New function. | |
208 | (simplify_minmaxloc_to_array): New function. | |
209 | (gfc_simplify_minmaxloc): New function. | |
210 | (simplify_minloc): New function. | |
211 | (simplify_maxloc): New function. | |
212 | ||
a9ec0cfc TK |
213 | 2018-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
214 | ||
215 | PR fortran/45689 | |
216 | PR fortran/83650 | |
217 | * simplify.c (gfc_simplify_cshift): Re-implement to allow full | |
218 | range of arguments. | |
219 | ||
f549bfb3 PT |
220 | 2018-01-01 Paul Thomas <pault@gcc.gnu.org> |
221 | ||
222 | PR fortran/83076 | |
223 | * resolve.c (resolve_fl_derived0): Add caf_token fields for | |
224 | allocatable and pointer scalars, when -fcoarray selected. | |
225 | * trans-types.c (gfc_copy_dt_decls_ifequal): Copy the token | |
226 | field as well as the backend_decl. | |
227 | (gfc_get_derived_type): Flag GFC_FCOARRAY_LIB for module | |
228 | derived types that are not vtypes. Components with caf_token | |
229 | attribute are pvoid types. For a component requiring it, find | |
230 | the caf_token field and have the component token field point to | |
231 | its backend_decl. | |
232 | ||
233 | PR fortran/83319 | |
234 | *trans-types.c (gfc_get_array_descriptor_base): Add the token | |
235 | field to the descriptor even when codimen not set. | |
21fa2a29 | 236 | \f |
65e6aea3 | 237 | Copyright (C) 2018 Free Software Foundation, Inc. |
ad41bd84 JM |
238 | |
239 | Copying and distribution of this file, with or without modification, | |
240 | are permitted in any medium without royalty provided the copyright | |
241 | notice and this notice are preserved. |