annotate gcc/fortran/ChangeLog-2016 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 2016-12-27 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 * gfortran.h (gfc_error): Rename overload with OPT argument to...
kono
parents:
diff changeset
4 (gfc_error_opt): ... this.
kono
parents:
diff changeset
5 * error.c (gfc_error): Rename overloads with OPT argument to...
kono
parents:
diff changeset
6 (gfc_error_opt): ... this. Adjust callers.
kono
parents:
diff changeset
7 (gfc_notify_std, gfc_error): Adjust callers.
kono
parents:
diff changeset
8 * resolve.c (resolve_structure_cons, resolve_global_procedure): Use
kono
parents:
diff changeset
9 gfc_error_opt instead of gfc_error.
kono
parents:
diff changeset
10 * interface.c (argument_rank_mismatch, compare_parameter,
kono
parents:
diff changeset
11 gfc_check_typebound_override): Likewise. Fix up formatting.
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 2016-12-23 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 * trans-expr.c (trans_class_assignment): Allocate memory of _vptr->size
kono
parents:
diff changeset
16 before assigning an allocatable class object.
kono
parents:
diff changeset
17 (gfc_trans_assignment_1): Flag that (re-)alloc of the class object
kono
parents:
diff changeset
18 shall be done.
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 2016-12-21 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 PR fortran/78866
kono
parents:
diff changeset
23 * openmp.c (resolve_omp_clauses): Diagnose assumed size arrays in
kono
parents:
diff changeset
24 OpenMP map, to and from clauses.
kono
parents:
diff changeset
25 * trans-openmp.c: Include diagnostic-core.h, temporarily redefining
kono
parents:
diff changeset
26 GCC_DIAG_STYLE to __gcc_tdiag__.
kono
parents:
diff changeset
27 (gfc_omp_finish_clause): Diagnose implicitly mapped assumed size
kono
parents:
diff changeset
28 arrays.
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 2016-12-21 Janne Blomqvist <jb@gcc.gnu.org>
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 PR fortran/78867
kono
parents:
diff changeset
33 * trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR also for
kono
parents:
diff changeset
34 non-pointer character results.
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 2016-12-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 * iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 2016-12-20 Janne Blomqvist <jb@gcc.gnu.org>
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 * trans-types.c (gfc_init_types): Don't redefine boolean type node.
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 2016-12-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 * trans-decl.c (create_main_function): Remove unused elements to
kono
parents:
diff changeset
47 the set_options call.
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 2016-12-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
kono
parents:
diff changeset
50
kono
parents:
diff changeset
51 * trans.h: Remove gfor_fndecl_stop_numeric_f08.
kono
parents:
diff changeset
52 * trans-decl.c: Remove gfor_fndecl_stop_numeric_f08.
kono
parents:
diff changeset
53 * trans-stmt.c (gfc_trans_stop): Use gfor_fndecl_stop_numeric
kono
parents:
diff changeset
54 instead of gfor_fndecl_stop_numeric_f08.
kono
parents:
diff changeset
55
kono
parents:
diff changeset
56 2016-12-19 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
57
kono
parents:
diff changeset
58 PR fortran/78545
kono
parents:
diff changeset
59 * intrinsic.texi: Minor documentation fixes for non-standard
kono
parents:
diff changeset
60 time-related intrinsics. Add references to standard intrinsics and
kono
parents:
diff changeset
61 linkify some existing references.
kono
parents:
diff changeset
62
kono
parents:
diff changeset
63 2016-12-18 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
64
kono
parents:
diff changeset
65 PR fortran/78545
kono
parents:
diff changeset
66 * intrinsic.texi: Fix documentation for GMTIME and LTIME.
kono
parents:
diff changeset
67
kono
parents:
diff changeset
68 2016-12-18 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
69
kono
parents:
diff changeset
70 PR fortran/78848
kono
parents:
diff changeset
71 * trans-io.c (get_dtio_proc): Generate non-typebound DTIO call for class
kono
parents:
diff changeset
72 variables, if no typebound DTIO procedure is available.
kono
parents:
diff changeset
73
kono
parents:
diff changeset
74 2016-12-18 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
75
kono
parents:
diff changeset
76 PR fortran/78592
kono
parents:
diff changeset
77 * interfac.c (gfc_find_specific_dtio_proc): Fixup for r243005, making
kono
parents:
diff changeset
78 sure that the generic list is followed through until the end.
kono
parents:
diff changeset
79
kono
parents:
diff changeset
80 2016-12-17 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
81
kono
parents:
diff changeset
82 PR fortran/78239
kono
parents:
diff changeset
83 * decl.c (char_len_param_value): Actually commit previous change.
kono
parents:
diff changeset
84
kono
parents:
diff changeset
85 2016-12-17 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
86
kono
parents:
diff changeset
87 PR fortran/78239
kono
parents:
diff changeset
88 * decl.c( char_len_param_value): Also check for -fimplicit-none
kono
parents:
diff changeset
89 when determining if implicit none is in force.
kono
parents:
diff changeset
90
kono
parents:
diff changeset
91 2016-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
92
kono
parents:
diff changeset
93 PR fortran/78622
kono
parents:
diff changeset
94 * io.c (format_lex): Continue of string delimiter seen.
kono
parents:
diff changeset
95
kono
parents:
diff changeset
96 2016-12-16 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
97
kono
parents:
diff changeset
98 PR fortran/78757
kono
parents:
diff changeset
99 * trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR for the
kono
parents:
diff changeset
100 type pstr var points to.
kono
parents:
diff changeset
101
kono
parents:
diff changeset
102 2016-12-15 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
103
kono
parents:
diff changeset
104 PR fortran/78798
kono
parents:
diff changeset
105 * gfortran.h (gfc_compare_derived_types,gfc_compare_types,
kono
parents:
diff changeset
106 gfc_compare_interfaces,gfc_has_vector_subscript): Return bool instead
kono
parents:
diff changeset
107 of int.
kono
parents:
diff changeset
108 * interface.c (compare_components): Ditto.
kono
parents:
diff changeset
109 (gfc_compare_union_types): Rename to compare_union_types, declare as
kono
parents:
diff changeset
110 static, return bool.
kono
parents:
diff changeset
111 (gfc_compare_derived_types): Return bool instead of int.
kono
parents:
diff changeset
112 (gfc_compare_types): Ditto.
kono
parents:
diff changeset
113 (compare_type): Ditto.
kono
parents:
diff changeset
114 (compare_rank): Ditto.
kono
parents:
diff changeset
115 (compare_type_rank): Ditto.
kono
parents:
diff changeset
116 (compare_type_rank_if): Ditto.
kono
parents:
diff changeset
117 (count_types_test): Ditto.
kono
parents:
diff changeset
118 (generic_correspondence): Ditto.
kono
parents:
diff changeset
119 (gfc_compare_interfaces): Ditto.
kono
parents:
diff changeset
120 (check_interface0): Ditto.
kono
parents:
diff changeset
121 (check_interface1): Ditto.
kono
parents:
diff changeset
122 (compare_allocatable): Ditto.
kono
parents:
diff changeset
123 (compare_parameter): Ditto.
kono
parents:
diff changeset
124 (gfc_has_vector_subscript): Ditto.
kono
parents:
diff changeset
125 (compare_actual_formal): Ditto.
kono
parents:
diff changeset
126
kono
parents:
diff changeset
127 2016-12-15 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
128
kono
parents:
diff changeset
129 PR fortran/78800
kono
parents:
diff changeset
130 * interface.c (compare_allocatable): Avoid additional errors on bad
kono
parents:
diff changeset
131 class declarations.
kono
parents:
diff changeset
132 (compare_parameter): Put the result of gfc_expr_attr into a variable,
kono
parents:
diff changeset
133 in order to avoid calling it multiple times. Exit early on bad class
kono
parents:
diff changeset
134 declarations to avoid ICE.
kono
parents:
diff changeset
135
kono
parents:
diff changeset
136 2016-12-14 Martin Jambor <mjambor@suse.cz>
kono
parents:
diff changeset
137
kono
parents:
diff changeset
138 * trans-openmp.c: Include omp-general.h.
kono
parents:
diff changeset
139
kono
parents:
diff changeset
140 2016-12-14 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
141
kono
parents:
diff changeset
142 PR fortran/78780
kono
parents:
diff changeset
143 * trans-expr.c (gfc_trans_assignment_1): Improve check whether detour
kono
parents:
diff changeset
144 caf-runtime routines is needed.
kono
parents:
diff changeset
145
kono
parents:
diff changeset
146 2016-12-14 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
147
kono
parents:
diff changeset
148 PR fortran/78672
kono
parents:
diff changeset
149 * array.c (gfc_find_array_ref): Add flag to return NULL when no ref is
kono
parents:
diff changeset
150 found instead of erroring out.
kono
parents:
diff changeset
151 * data.c (gfc_assign_data_value): Only constant expressions are valid
kono
parents:
diff changeset
152 for initializers.
kono
parents:
diff changeset
153 * gfortran.h: Reflect change of gfc_find_array_ref's signature.
kono
parents:
diff changeset
154 * interface.c (compare_actual_formal): Access the non-elemental
kono
parents:
diff changeset
155 array-ref. Prevent taking a REF_COMPONENT for a REF_ARRAY. Correct
kono
parents:
diff changeset
156 indentation.
kono
parents:
diff changeset
157 * module.c (load_omp_udrs): Clear typespec before reading into it.
kono
parents:
diff changeset
158 * trans-decl.c (gfc_build_qualified_array): Prevent accessing the array
kono
parents:
diff changeset
159 when it is a coarray.
kono
parents:
diff changeset
160 * trans-expr.c (gfc_conv_cst_int_power): Use wi::abs()-function instead
kono
parents:
diff changeset
161 of crutch preventing sanitizer's bickering here.
kono
parents:
diff changeset
162 * trans-stmt.c (gfc_trans_deallocate): Only get data-component when it
kono
parents:
diff changeset
163 is a descriptor-array here.
kono
parents:
diff changeset
164
kono
parents:
diff changeset
165 2016-12-13 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
166
kono
parents:
diff changeset
167 PR fortran/78798
kono
parents:
diff changeset
168 * gfortran.h (gfc_is_constant_expr, gfc_is_formal_arg,
kono
parents:
diff changeset
169 gfc_is_compile_time_shape): Return bool instead of int.
kono
parents:
diff changeset
170 * array.c (gfc_is_compile_time_shape): Ditto.
kono
parents:
diff changeset
171 * expr.c (gfc_is_constant_expr): Ditto.
kono
parents:
diff changeset
172 * resolve.c (gfc_is_formal_arg): Ditto. Make formal_arg_flag bool.
kono
parents:
diff changeset
173
kono
parents:
diff changeset
174 2016-12-13 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
175
kono
parents:
diff changeset
176 PR fortran/77785
kono
parents:
diff changeset
177 * resolve.c (resolve_symbol): Correct attr lookup to the _data
kono
parents:
diff changeset
178 component.
kono
parents:
diff changeset
179 * trans-array.c (gfc_alloc_allocatable_for_assignment): Indirect ref
kono
parents:
diff changeset
180 pointers and references before retrieving the caf-token.
kono
parents:
diff changeset
181
kono
parents:
diff changeset
182 2016-12-13 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
183 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
184
kono
parents:
diff changeset
185 PR fortran/78737
kono
parents:
diff changeset
186 * gfortran.h (gfc_find_typebound_dtio_proc): New prototype.
kono
parents:
diff changeset
187 * interface.c (gfc_compare_interfaces): Whitespace fix.
kono
parents:
diff changeset
188 (gfc_find_typebound_dtio_proc): New function.
kono
parents:
diff changeset
189 (gfc_find_specific_dtio_proc): Use it. Improve error recovery.
kono
parents:
diff changeset
190 * trans-io.c (get_dtio_proc): Implement polymorphic calls to DTIO
kono
parents:
diff changeset
191 procedures.
kono
parents:
diff changeset
192
kono
parents:
diff changeset
193 2016-12-12 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
194
kono
parents:
diff changeset
195 PR fortran/78392
kono
parents:
diff changeset
196 * expr.c (gfc_is_constant_expr): Specification functions are not
kono
parents:
diff changeset
197 compile-time constants. Update documentation (add reference to F08
kono
parents:
diff changeset
198 standard), add a FIXME.
kono
parents:
diff changeset
199 (external_spec_function): Add reference to F08 standard.
kono
parents:
diff changeset
200 * resolve.c (resolve_fl_variable): Ditto.
kono
parents:
diff changeset
201
kono
parents:
diff changeset
202 2016-12-10 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
203
kono
parents:
diff changeset
204 PR fortran/78226
kono
parents:
diff changeset
205 * error.c (gfc_warning_internal): New function.
kono
parents:
diff changeset
206 * frontend-passes.c (gfc_run_passes): Call check_locus if
kono
parents:
diff changeset
207 CHECKING_P is defined.
kono
parents:
diff changeset
208 (check_locus_code): New function.
kono
parents:
diff changeset
209 (check_locus_expr): New function.
kono
parents:
diff changeset
210 (check_locus): New function.
kono
parents:
diff changeset
211 * gfortran.h: Add prototype for gfc_warning_internal.
kono
parents:
diff changeset
212
kono
parents:
diff changeset
213 2016-12-10 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
214
kono
parents:
diff changeset
215 PR fortran/78350
kono
parents:
diff changeset
216 * resolve.c (resolve_structure_cons): Remove the block that
kono
parents:
diff changeset
217 tried to remove a charlen and rely on namespace cleanup.
kono
parents:
diff changeset
218
kono
parents:
diff changeset
219 2016-12-09 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
220
kono
parents:
diff changeset
221 PR fortran/77903
kono
parents:
diff changeset
222 * decl.c (get_proc_name): Use the symbol tlink field instead of
kono
parents:
diff changeset
223 the typespec interface field.
kono
parents:
diff changeset
224 (gfc_match_function_decl, gfc_match_submod_proc): Ditto.
kono
parents:
diff changeset
225 * gfortran.h : Since the symbol tlink field is no longer used
kono
parents:
diff changeset
226 by the frontend for change management, change the comment to
kono
parents:
diff changeset
227 reflect its current uses.
kono
parents:
diff changeset
228 * parse.c (get_modproc_result): Same as decl.c changes.
kono
parents:
diff changeset
229 * resolve.c (resolve_fl_procedure): Ditto.
kono
parents:
diff changeset
230
kono
parents:
diff changeset
231 2016-12-09 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
232
kono
parents:
diff changeset
233 PR fortran/61767
kono
parents:
diff changeset
234 * class.c (has_finalizer_component): Fix this function to detect only
kono
parents:
diff changeset
235 non-pointer non-allocatable components which have a finalizer.
kono
parents:
diff changeset
236
kono
parents:
diff changeset
237 2016-12-09 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
238
kono
parents:
diff changeset
239 PR fortran/78505
kono
parents:
diff changeset
240 * trans-stmt.c (gfc_trans_allocate): Add sync all after the execution
kono
parents:
diff changeset
241 of the whole allocate-statement to adhere to the standard.
kono
parents:
diff changeset
242
kono
parents:
diff changeset
243 2016-12-09 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
244
kono
parents:
diff changeset
245 * trans-array.c (gfc_array_deallocate): Remove wrapper.
kono
parents:
diff changeset
246 (gfc_trans_dealloc_allocated): Same.
kono
parents:
diff changeset
247 (structure_alloc_comps): Restructure deallocation of (nested)
kono
parents:
diff changeset
248 allocatable components. Insert dealloc of sub-component into the block
kono
parents:
diff changeset
249 guarded by the if != NULL for the component.
kono
parents:
diff changeset
250 (gfc_trans_deferred_array): Use the almightly deallocate_with_status.
kono
parents:
diff changeset
251 * trans-array.h: Remove prototypes.
kono
parents:
diff changeset
252 * trans-expr.c (gfc_conv_procedure_call): Use the almighty deallocate_
kono
parents:
diff changeset
253 with_status.
kono
parents:
diff changeset
254 * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
kono
parents:
diff changeset
255 (gfc_omp_clause_assign_op): Likewise.
kono
parents:
diff changeset
256 (gfc_omp_clause_dtor): Likewise.
kono
parents:
diff changeset
257 * trans-stmt.c (gfc_trans_deallocate): Likewise.
kono
parents:
diff changeset
258 * trans.c (gfc_deallocate_with_status): Allow deallocation of scalar
kono
parents:
diff changeset
259 and arrays as well as coarrays.
kono
parents:
diff changeset
260 (gfc_deallocate_scalar_with_status): Get the data member for coarrays
kono
parents:
diff changeset
261 only when freeing an array with descriptor. And set correct caf_mode
kono
parents:
diff changeset
262 when freeing components of coarrays.
kono
parents:
diff changeset
263 * trans.h: Change prototype of gfc_deallocate_with_status to allow
kono
parents:
diff changeset
264 adding statements into the block guarded by the if (pointer != 0) and
kono
parents:
diff changeset
265 supply a coarray handle.
kono
parents:
diff changeset
266
kono
parents:
diff changeset
267 2016-12-09 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
268
kono
parents:
diff changeset
269 PR fortran/44265
kono
parents:
diff changeset
270 * gfortran.h : Add fn_result_spec bitfield to gfc_symbol.
kono
parents:
diff changeset
271 * resolve.c (flag_fn_result_spec): New function.
kono
parents:
diff changeset
272 (resolve_fntype): Call it for character result lengths.
kono
parents:
diff changeset
273 * symbol.c (gfc_new_symbol): Set fn_result_spec to zero.
kono
parents:
diff changeset
274 * trans-decl.c (gfc_sym_mangled_identifier): Include the
kono
parents:
diff changeset
275 procedure name in the mangled name for symbols with the
kono
parents:
diff changeset
276 fn_result_spec bit set.
kono
parents:
diff changeset
277 (gfc_finish_var_decl): Mark the decls of these symbols
kono
parents:
diff changeset
278 appropriately for the case where the function is external.
kono
parents:
diff changeset
279 (gfc_get_symbol_decl): Mangle the name of these symbols.
kono
parents:
diff changeset
280 (gfc_create_module_variable): Allow them through the assert.
kono
parents:
diff changeset
281 (gfc_generate_function_code): Remove the assert before the
kono
parents:
diff changeset
282 initialization of sym->tlink because the frontend no longer
kono
parents:
diff changeset
283 uses this field.
kono
parents:
diff changeset
284 * trans-expr.c (gfc_map_intrinsic_function): Add a case to
kono
parents:
diff changeset
285 treat the LEN_TRIM intrinsic.
kono
parents:
diff changeset
286 (gfc_trans_string_copy): Deal with Wstringop-overflow warning
kono
parents:
diff changeset
287 that can occur with constant source lengths at -O3.
kono
parents:
diff changeset
288
kono
parents:
diff changeset
289 2016-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
290
kono
parents:
diff changeset
291 PR fortran/65173
kono
parents:
diff changeset
292 PR fortran/69064
kono
parents:
diff changeset
293 PR fortran/69859
kono
parents:
diff changeset
294 PR fortran/78350
kono
parents:
diff changeset
295 * gfortran.h (gfc_namespace): Remove old_cl_list member.
kono
parents:
diff changeset
296 * parse.c (use_modules, next_statement): old_cl_list is gone.
kono
parents:
diff changeset
297 (clear_default_charlen): Remove no longer used function.
kono
parents:
diff changeset
298 (reject_statement): Do not try ot clean up gfc_charlen structure(s)
kono
parents:
diff changeset
299 that may have been added to a cl_list list.
kono
parents:
diff changeset
300 * symbol.c (gfc_new_charlen): old_cl_list structure is gone.
kono
parents:
diff changeset
301
kono
parents:
diff changeset
302 2016-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
303
kono
parents:
diff changeset
304 PR fortran/78659
kono
parents:
diff changeset
305 * resolve.c (resolve_fl_namelist): Remove unneeded error.
kono
parents:
diff changeset
306
kono
parents:
diff changeset
307 2016-12-06 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
308
kono
parents:
diff changeset
309 PR fortran/78226
kono
parents:
diff changeset
310 * class.c (finalize_component): Add missing locus information.
kono
parents:
diff changeset
311 (finalization_scalarizer): Likewise.
kono
parents:
diff changeset
312 (finalization_get_offset): Likewise.
kono
parents:
diff changeset
313 (finalizer_insert_packed_call): Likewise.
kono
parents:
diff changeset
314 (generate_finalization_wrapper): Likewise.
kono
parents:
diff changeset
315
kono
parents:
diff changeset
316 2016-12-05 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
317
kono
parents:
diff changeset
318 * error.c (gfc_warning_check): Call diagnostic_check_max_errors.
kono
parents:
diff changeset
319 (gfc_error_check): Likewise.
kono
parents:
diff changeset
320
kono
parents:
diff changeset
321 2016-12-04 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
322
kono
parents:
diff changeset
323 PR fortran/78618
kono
parents:
diff changeset
324 * intrinsic.c (gfc_convert_type_warn): Do not set the full typespec for
kono
parents:
diff changeset
325 the conversion symbol, but only type and kind. Set the full typespec
kono
parents:
diff changeset
326 for the expression.
kono
parents:
diff changeset
327 (gfc_convert_chartype): Ditto.
kono
parents:
diff changeset
328
kono
parents:
diff changeset
329 2016-12-03 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
330
kono
parents:
diff changeset
331 PR fortran/43207
kono
parents:
diff changeset
332 * primary.c (gfc_match_varspec): Reject nonpolymorphic references to
kono
parents:
diff changeset
333 abstract types.
kono
parents:
diff changeset
334
kono
parents:
diff changeset
335 2016-12-03 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
336
kono
parents:
diff changeset
337 PR fortran/42188
kono
parents:
diff changeset
338 * primary.c (gfc_match_rvalue): Add a new check that gives better error
kono
parents:
diff changeset
339 messages.
kono
parents:
diff changeset
340
kono
parents:
diff changeset
341 2016-12-03 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
342
kono
parents:
diff changeset
343 PR fortran/58175
kono
parents:
diff changeset
344 * resolve.c (gfc_resolve_finalizers): Prevent bogus warning.
kono
parents:
diff changeset
345
kono
parents:
diff changeset
346 2016-12-02 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
347
kono
parents:
diff changeset
348 * simplify.c (gfc_convert_char_constant): Free result on error.
kono
parents:
diff changeset
349
kono
parents:
diff changeset
350 2016-12-02 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
351 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
352
kono
parents:
diff changeset
353 PR fortran/78618
kono
parents:
diff changeset
354 * check.c (gfc_check_rank): Remove ATTRIBUTE_UNUSED.
kono
parents:
diff changeset
355 * expr.c (gfc_check_assign): Fix error propagation.
kono
parents:
diff changeset
356
kono
parents:
diff changeset
357 2016-12-01 Elizebeth Punnoose <elizebeth.punnoose@hpe.com>
kono
parents:
diff changeset
358
kono
parents:
diff changeset
359 PR fortran/77505
kono
parents:
diff changeset
360 * trans-array.c (trans_array_constructor): Treat negative character
kono
parents:
diff changeset
361 length as LEN = 0.
kono
parents:
diff changeset
362
kono
parents:
diff changeset
363 2016-12-01 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
364
kono
parents:
diff changeset
365 PR fortran/78279
kono
parents:
diff changeset
366 * dependency.c (identical_array_ref): Convert gcc_assert to conditional
kono
parents:
diff changeset
367 and gfc_internal_error.
kono
parents:
diff changeset
368
kono
parents:
diff changeset
369 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
370
kono
parents:
diff changeset
371 * check.c (gfc_check_allocated): By pass the caf_get call and check on
kono
parents:
diff changeset
372 the array.
kono
parents:
diff changeset
373 * gfortran.h: Add optional flag to gfc_caf_attr.
kono
parents:
diff changeset
374 * gfortran.texi: Document new enum values and _caf_is_present function.
kono
parents:
diff changeset
375 * primary.c (caf_variable_attr): Add optional flag to indicate that the
kono
parents:
diff changeset
376 expression is reffing a component.
kono
parents:
diff changeset
377 (gfc_caf_attr): Likewise.
kono
parents:
diff changeset
378 * trans-array.c (gfc_array_deallocate): Handle deallocation mode for
kono
parents:
diff changeset
379 coarray deregistration.
kono
parents:
diff changeset
380 (gfc_trans_dealloc_allocated): Likewise.
kono
parents:
diff changeset
381 (duplicate_allocatable): Use constants instead of
kono
parents:
diff changeset
382 creating custom constant tree node of zero or one. Use gfc_add_modify
kono
parents:
diff changeset
383 convenience function.
kono
parents:
diff changeset
384 (duplicate_allocatable_coarray): This function is similar to
kono
parents:
diff changeset
385 duplicate_allocatable but tailored to handle coarrays.
kono
parents:
diff changeset
386 (caf_enabled): Check whether in-derived-type coarray processing is
kono
parents:
diff changeset
387 enabled.
kono
parents:
diff changeset
388 (caf_in_coarray): Check that in-derived-type coarray processing is
kono
parents:
diff changeset
389 enabled and currently in a derived-typed coarray.
kono
parents:
diff changeset
390 (gfc_caf_is_dealloc_only): Return true, when deallocate only is
kono
parents:
diff changeset
391 desired for components in derived typed coarrays.
kono
parents:
diff changeset
392 (structure_alloc_comps): A mode for handling coarrays, that is no
kono
parents:
diff changeset
393 longer encode in the purpose. This makes the use cases of the
kono
parents:
diff changeset
394 routine more flexible without repeating. Allocatable components in
kono
parents:
diff changeset
395 derived type coarrays are now registered only when nullifying an
kono
parents:
diff changeset
396 object and allocated before copying data into them.
kono
parents:
diff changeset
397 (gfc_nullify_alloc_comp): Use the caf_mode of structure_alloc_comps
kono
parents:
diff changeset
398 now.
kono
parents:
diff changeset
399 (gfc_deallocate_alloc_comp): Likewise.
kono
parents:
diff changeset
400 (gfc_deallocate_alloc_comp_no_caf): Likewise.
kono
parents:
diff changeset
401 (gfc_reassign_alloc_comp_caf): Likewise.
kono
parents:
diff changeset
402 (gfc_copy_alloc_comp): Likewise.
kono
parents:
diff changeset
403 (gfc_copy_only_alloc_comp): Likewise.
kono
parents:
diff changeset
404 (gfc_alloc_allocatable_for_assignment): Make use to the cheaper way of
kono
parents:
diff changeset
405 reallocating a coarray without deregistering and reregistering it.
kono
parents:
diff changeset
406 (gfc_trans_deferred_array): Initialize the coarray token correctly for
kono
parents:
diff changeset
407 deferred variables and tear them down on exit.
kono
parents:
diff changeset
408 * trans-array.h: Change some prototypes to add the coarray (de-)
kono
parents:
diff changeset
409 registration modes. Add prototype for checking if deallocate only is
kono
parents:
diff changeset
410 selected for components in derived typed coarrays.
kono
parents:
diff changeset
411 * trans-decl.c (gfc_build_builtin_function_decls): Generate the
kono
parents:
diff changeset
412 declarations for the changed/new caf-lib routines.
kono
parents:
diff changeset
413 (gfc_trans_deferred_vars): Ensure deferred variables are (de-)
kono
parents:
diff changeset
414 registered correctly on procedure entry/exit.
kono
parents:
diff changeset
415 (generate_coarray_sym_init): Use constants.
kono
parents:
diff changeset
416 * trans-expr.c (gfc_conv_procedure_call): Propagate coarray allocation
kono
parents:
diff changeset
417 modes accordingly.
kono
parents:
diff changeset
418 (gfc_trans_alloc_subarray_assign): Likewise.
kono
parents:
diff changeset
419 (gfc_trans_subcomponent_assign): Likewise.
kono
parents:
diff changeset
420 (gfc_trans_structure_assign): Generate code to register the components
kono
parents:
diff changeset
421 of a derived type coarray prior to initialization.
kono
parents:
diff changeset
422 (gfc_conv_structure): Set flag that the structure is in a coarray.
kono
parents:
diff changeset
423 (gfc_trans_scalar_assign): Add flag to indicate being in a coarray and
kono
parents:
diff changeset
424 set the structure_alloc_comps modes correctly.
kono
parents:
diff changeset
425 (gfc_trans_assignment_1): Figure being in a coarray expression.
kono
parents:
diff changeset
426 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Adapt to new
kono
parents:
diff changeset
427 structure_alloc_comps interface.
kono
parents:
diff changeset
428 (conv_caf_send): Use the old API as long as possible.
kono
parents:
diff changeset
429 (trans_caf_is_present): Generate code to check whether an allocatable
kono
parents:
diff changeset
430 component in a derived typed coarray is allocated on a remote image.
kono
parents:
diff changeset
431 (caf_this_image_ref): Return true, when only reffing this image.
kono
parents:
diff changeset
432 (gfc_conv_allocated): Convert allocated queries on allocatable
kono
parents:
diff changeset
433 components to the library API.
kono
parents:
diff changeset
434 (conv_intrinsic_move_alloc): Adapt to new interface of
kono
parents:
diff changeset
435 structure_alloc_comps.
kono
parents:
diff changeset
436 * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
kono
parents:
diff changeset
437 (gfc_omp_clause_assign_op): Likewise.
kono
parents:
diff changeset
438 (gfc_omp_clause_dtor): Likewise.
kono
parents:
diff changeset
439 * trans-stmt.c (gfc_trans_deallocate): Figure which mode to use when
kono
parents:
diff changeset
440 deallocating allocatable components in derived type coarras.
kono
parents:
diff changeset
441 * trans.c (gfc_allocate_using_lib): Renamed to
kono
parents:
diff changeset
442 gfc_allcate_using_caf_lib.
kono
parents:
diff changeset
443 (gfc_allocate_allocatable): Set the registration mode/type of caf-
kono
parents:
diff changeset
444 register calls adapting to all the possible allocatable objects.
kono
parents:
diff changeset
445 (gfc_deallocate_with_status): Add deregistration mode for allocatable
kono
parents:
diff changeset
446 components in derived type coarrays.
kono
parents:
diff changeset
447 (gfc_deallocate_scalar_with_status): Likewise.
kono
parents:
diff changeset
448 * trans.h (enum gfc_coarray_type): Renamed to gfc_coarray_regtype to
kono
parents:
diff changeset
449 avoid collision with gfc_coarray_deregtype.
kono
parents:
diff changeset
450
kono
parents:
diff changeset
451 2016-11-30 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
452
kono
parents:
diff changeset
453 PR fortran/78593
kono
parents:
diff changeset
454 * primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE.
kono
parents:
diff changeset
455
kono
parents:
diff changeset
456 2016-11-30 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
457
kono
parents:
diff changeset
458 PR fortran/78592
kono
parents:
diff changeset
459 * interface.c (gfc_find_specific_dtio_proc): Rearrange code to avoid
kono
parents:
diff changeset
460 dereferencing a null pointer.
kono
parents:
diff changeset
461
kono
parents:
diff changeset
462 2016-11-30 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
463
kono
parents:
diff changeset
464 PR fortran/78573
kono
parents:
diff changeset
465 * decl.c (build_struct): On error, return directly and do not build
kono
parents:
diff changeset
466 class symbol.
kono
parents:
diff changeset
467
kono
parents:
diff changeset
468 2016-11-29 Tobias Burnus <burnus@net-b.de>
kono
parents:
diff changeset
469
kono
parents:
diff changeset
470 PR fortran/58175
kono
parents:
diff changeset
471 * resolve.c (gfc_resolve_finalizers): Properly detect scalar finalizers.
kono
parents:
diff changeset
472
kono
parents:
diff changeset
473 2016-11-27 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
474
kono
parents:
diff changeset
475 PR fortran/78474
kono
parents:
diff changeset
476 * module.c (gfc_match_submodule): If there is more than one
kono
parents:
diff changeset
477 colon, it is a syntax error.
kono
parents:
diff changeset
478
kono
parents:
diff changeset
479 PR fortran/78331
kono
parents:
diff changeset
480 * module.c (gfc_use_module): If an smod file does not exist it
kono
parents:
diff changeset
481 is either because the module does not have a module procedure
kono
parents:
diff changeset
482 interface or there is an error in the module.
kono
parents:
diff changeset
483
kono
parents:
diff changeset
484 2016-11-25 Janne Blomqvist <jb@gcc.gnu.org>
kono
parents:
diff changeset
485
kono
parents:
diff changeset
486 * intrinsic.texi: Fix ptrdiff_t typo in ISO_C_BINDING constants
kono
parents:
diff changeset
487 table.
kono
parents:
diff changeset
488
kono
parents:
diff changeset
489 2016-11-25 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
490
kono
parents:
diff changeset
491 PR fortran/60853
kono
parents:
diff changeset
492 * interface.c (gfc_compare_interfaces): Remove bad special case for
kono
parents:
diff changeset
493 unlimited polymorphism. Refactor for loop.
kono
parents:
diff changeset
494
kono
parents:
diff changeset
495 2016-11-25 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
496 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
497
kono
parents:
diff changeset
498 PR fortran/78293
kono
parents:
diff changeset
499 * trans-expr.c (gfc_conv_procedure_call): Prepend deallocation
kono
parents:
diff changeset
500 of alloctable components to post, rather than adding to
kono
parents:
diff changeset
501 se->post.
kono
parents:
diff changeset
502 * trans-stmt.c (gfc_trans_allocate): Move deallocation of expr3
kono
parents:
diff changeset
503 allocatable components so that all expr3s are visited.
kono
parents:
diff changeset
504
kono
parents:
diff changeset
505 2016-11-25 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
506
kono
parents:
diff changeset
507 PR fortran/78293
kono
parents:
diff changeset
508 * gfortran.dg/allocatable_function_10.f90: New test.
kono
parents:
diff changeset
509 * gfortran.dg/class_array_15.f03: Increase builtin_free count
kono
parents:
diff changeset
510 from 11 to 12.
kono
parents:
diff changeset
511
kono
parents:
diff changeset
512 2016-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
513
kono
parents:
diff changeset
514 PR fortran/78500
kono
parents:
diff changeset
515 * expr.c (gfc_check_vardef_contextm): Fix NULL pointer dereference.
kono
parents:
diff changeset
516 * interface.c (matching_typebound_op): Ditto.
kono
parents:
diff changeset
517
kono
parents:
diff changeset
518 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
519
kono
parents:
diff changeset
520 PR fortran/78297
kono
parents:
diff changeset
521 * trans-common.c (finish_equivalences): Do not dereference a NULL pointer.
kono
parents:
diff changeset
522
kono
parents:
diff changeset
523 2016-11-23 Martin Jambor <mjambor@suse.cz>
kono
parents:
diff changeset
524
kono
parents:
diff changeset
525 * f95-lang.c (DEF_HSA_BUILTIN): New macro.
kono
parents:
diff changeset
526
kono
parents:
diff changeset
527 2016-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
528
kono
parents:
diff changeset
529 PR fortran/78479
kono
parents:
diff changeset
530 * expr.c (gfc_apply_init): Allocate a charlen if needed.
kono
parents:
diff changeset
531
kono
parents:
diff changeset
532 2016-11-22 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
533
kono
parents:
diff changeset
534 PR fortran/78443
kono
parents:
diff changeset
535 * class.c (add_proc_comp): Add a vtype component for non-overridable
kono
parents:
diff changeset
536 procedures that are overriding.
kono
parents:
diff changeset
537
kono
parents:
diff changeset
538 2016-11-20 Harald Anlauf <anlauf@gmx.de>
kono
parents:
diff changeset
539
kono
parents:
diff changeset
540 PR fortran/69741
kono
parents:
diff changeset
541 * resolve.c (gfc_resolve_forall): Check for nonscalar index variables.
kono
parents:
diff changeset
542
kono
parents:
diff changeset
543 2016-11-20 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
544
kono
parents:
diff changeset
545 PR fortran/78395
kono
parents:
diff changeset
546 * resolve.c (resolve_typebound_function): Prevent stripping of refs,
kono
parents:
diff changeset
547 when the base-expression is a class' typed one.
kono
parents:
diff changeset
548
kono
parents:
diff changeset
549 2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
kono
parents:
diff changeset
550 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
551 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
552
kono
parents:
diff changeset
553 * trans-common.c (build_common_decl): Use SET_DECL_MODE.
kono
parents:
diff changeset
554 * trans-decl.c (gfc_build_label_decl): Likewise.
kono
parents:
diff changeset
555 * trans-types.c (gfc_get_array_descr_info): Likewise.
kono
parents:
diff changeset
556
kono
parents:
diff changeset
557 2016-11-17 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
558
kono
parents:
diff changeset
559 PR fortran/66227
kono
parents:
diff changeset
560 * simplify.c (gfc_simplify_extends_type_of): Fix missed optimization.
kono
parents:
diff changeset
561 Prevent over-simplification. Fix a comment. Add a comment.
kono
parents:
diff changeset
562
kono
parents:
diff changeset
563 2016-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
564
kono
parents:
diff changeset
565 PR fortran/58001
kono
parents:
diff changeset
566 * io.c (next_char_not_space): Update handling of a 'tab' in a FORMAT.
kono
parents:
diff changeset
567 (format_lex): Adjust invocations of next_char_not_space().
kono
parents:
diff changeset
568
kono
parents:
diff changeset
569 2016-11-16 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
570
kono
parents:
diff changeset
571 PR fortran/78356
kono
parents:
diff changeset
572 * class.c (gfc_is_class_scalar_expr): Prevent taking an array ref for
kono
parents:
diff changeset
573 a component ref.
kono
parents:
diff changeset
574 * trans-expr.c (gfc_trans_assignment_1): Ensure a reference to the
kono
parents:
diff changeset
575 object to copy is generated, when assigning class objects.
kono
parents:
diff changeset
576
kono
parents:
diff changeset
577 2016-11-14 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
578
kono
parents:
diff changeset
579 * dump-parse-tree.c (show_code): Add prototype.
kono
parents:
diff changeset
580 (gfc_debug_code): New function.
kono
parents:
diff changeset
581 (show_code_node): Add space after SELECT TYPE.
kono
parents:
diff changeset
582
kono
parents:
diff changeset
583 2016-11-14 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
584
kono
parents:
diff changeset
585 PR fortran/78300
kono
parents:
diff changeset
586 * resolve.c (resolve_procedure_interface): Properly handle CLASS-valued
kono
parents:
diff changeset
587 function results.
kono
parents:
diff changeset
588
kono
parents:
diff changeset
589 2016-11-13 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
590
kono
parents:
diff changeset
591 PR fortran/60952
kono
parents:
diff changeset
592 * decl.c (match_procedure_in_type): Apply the FL_PROCEDURE attribute
kono
parents:
diff changeset
593 to the target procedure.
kono
parents:
diff changeset
594
kono
parents:
diff changeset
595 2016-11-13 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
596
kono
parents:
diff changeset
597 PR fortran/66366
kono
parents:
diff changeset
598 * resolve.c (resolve_component): Move check for C437
kono
parents:
diff changeset
599 to ...
kono
parents:
diff changeset
600 * decl.c (build_struct): ... here. Fix indentation.
kono
parents:
diff changeset
601
kono
parents:
diff changeset
602 2016-11-12 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
603
kono
parents:
diff changeset
604 PR fortran/77501
kono
parents:
diff changeset
605 * class.c (gfc_find_typebound_intrinsic_op): Remove an unnecessary
kono
parents:
diff changeset
606 assert and nullification.
kono
parents:
diff changeset
607 * decl.c (gfc_match_decl_type_spec): Use gfc_get_tbp_symtree,
kono
parents:
diff changeset
608 fix indentation.
kono
parents:
diff changeset
609 (gfc_match_generic): Remove an unnecessary assert.
kono
parents:
diff changeset
610 Use gfc_get_tbp_symtree to avoid ICE.
kono
parents:
diff changeset
611
kono
parents:
diff changeset
612 2016-11-10 Fritz O. Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
613
kono
parents:
diff changeset
614 PR fortran/78277
kono
parents:
diff changeset
615 * gcc/fortran/decl.c (gfc_match_data_decl): Gracefully handle bad
kono
parents:
diff changeset
616 anonymous structure declarations.
kono
parents:
diff changeset
617
kono
parents:
diff changeset
618 2016-11-10 Fritz O. Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
619
kono
parents:
diff changeset
620 * decl.c (get_struct_decl, gfc_match_map, gfc_match_union): Fix
kono
parents:
diff changeset
621 whitespace.
kono
parents:
diff changeset
622 * interface.c (gfc_compare_union_types): Likewise.
kono
parents:
diff changeset
623
kono
parents:
diff changeset
624 2016-11-10 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
625
kono
parents:
diff changeset
626 * cpp.c (cpp_define_builtins): Define _OPENMP to 201511 instead
kono
parents:
diff changeset
627 of 201307.
kono
parents:
diff changeset
628 * gfortran.texi: Mention partial OpenMP 4.5 support.
kono
parents:
diff changeset
629 * intrinsic.texi: Update for OpenMP 4.5.
kono
parents:
diff changeset
630
kono
parents:
diff changeset
631 * openmp.c (gfc_free_omp_clauses): Free critical_name, grainsize,
kono
parents:
diff changeset
632 hint, num_tasks, priority and if_exprs.
kono
parents:
diff changeset
633 (gfc_match_omp_to_link, gfc_match_omp_depend_sink): New functions.
kono
parents:
diff changeset
634 (enum omp_mask1, enum omp_mask2): New enums.
kono
parents:
diff changeset
635 Change all OMP_CLAUSE_* defines into enum values, and change their
kono
parents:
diff changeset
636 values from ((uint64_t) 1 << bit) to just bit.
kono
parents:
diff changeset
637 (omp_mask, omp_inv_mask): New classes. Add ctors and operators.
kono
parents:
diff changeset
638 (gfc_match_omp_clauses): Change mask argument from uint64_t to
kono
parents:
diff changeset
639 const omp_mask. Assert OMP_MASK1_LAST and OMP_MASK2_LAST are
kono
parents:
diff changeset
640 at most 64. Move delete clause handling to where it
kono
parents:
diff changeset
641 alphabetically belongs. Parse defaultmap, grainsize, hint,
kono
parents:
diff changeset
642 is_device_ptr, nogroup, nowait, num_tasks, priority, simd, threads
kono
parents:
diff changeset
643 and use_device_ptr clauses. Parse if clause modifier. Parse map
kono
parents:
diff changeset
644 clause always modifier, and release and delete kinds. Parse ordered
kono
parents:
diff changeset
645 clause with argument. Parse schedule clause modifiers. Differentiate
kono
parents:
diff changeset
646 device clause parsing based on openacc flag. Guard link clause
kono
parents:
diff changeset
647 parsing with openacc flag. Add support for parsing
kono
parents:
diff changeset
648 linear clause modifiers. Parse depend(source) and depend(sink: ...).
kono
parents:
diff changeset
649 Use gfc_match_omp_to_link for to and link clauses in declare target
kono
parents:
diff changeset
650 construct.
kono
parents:
diff changeset
651 (match_acc): Change mask type from uint64_t to const omp_mask.
kono
parents:
diff changeset
652 (OMP_SINGLE_CLAUSES, OMP_ORDERED_CLAUSES,
kono
parents:
diff changeset
653 OMP_DECLARE_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES,
kono
parents:
diff changeset
654 OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES): Define.
kono
parents:
diff changeset
655 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES,
kono
parents:
diff changeset
656 OACC_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES, OACC_DECLARE_CLAUSES,
kono
parents:
diff changeset
657 OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES, OACC_WAIT_CLAUSES,
kono
parents:
diff changeset
658 OACC_ROUTINE_CLAUSES, OMP_PARALLEL_CLAUSES, OMP_DECLARE_SIMD_CLAUSES,
kono
parents:
diff changeset
659 OMP_SECTIONS_CLAUSES, OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES):
kono
parents:
diff changeset
660 Replace first or only OMP_CLAUSE_* value in bitset with
kono
parents:
diff changeset
661 omp_mask (OMP_CLAUSE_*).
kono
parents:
diff changeset
662 (OMP_DO_CLAUSES): Likewise. Add OMP_CLAUSE_LINEAR.
kono
parents:
diff changeset
663 (OMP_SIMD_CLAUSES): Replace first or only OMP_CLAUSE_* value in
kono
parents:
diff changeset
664 bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_SIMDLEN.
kono
parents:
diff changeset
665 (OACC_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in
kono
parents:
diff changeset
666 bitset with omp_mask (OMP_CLAUSE_*). Replace OMP_CLAUSE_OACC_DEVICE
kono
parents:
diff changeset
667 with OMP_CLAUSE_DEVICE.
kono
parents:
diff changeset
668 (OMP_TASK_CLAUSES): Replace first or only OMP_CLAUSE_* value in
kono
parents:
diff changeset
669 bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_PRIORITY.
kono
parents:
diff changeset
670 (OMP_TARGET_CLAUSES): Replace first or only OMP_CLAUSE_* value in
kono
parents:
diff changeset
671 bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_DEPEND,
kono
parents:
diff changeset
672 OMP_CLAUSE_NOWAIT, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE,
kono
parents:
diff changeset
673 OMP_CLAUSE_DEFAULTMAP and OMP_CLAUSE_IS_DEVICE_PTR.
kono
parents:
diff changeset
674 (OMP_TARGET_DATA_CLAUSES): Replace first or only OMP_CLAUSE_* value in
kono
parents:
diff changeset
675 bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_USE_DEVICE_PTR.
kono
parents:
diff changeset
676 (OMP_TARGET_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value
kono
parents:
diff changeset
677 in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_DEPEND and
kono
parents:
diff changeset
678 OMP_CLAUSE_NOWAIT.
kono
parents:
diff changeset
679 (match_omp): Change mask argument from unsigned int to
kono
parents:
diff changeset
680 const omp_mask.
kono
parents:
diff changeset
681 (gfc_match_omp_critical): Parse optional clauses and use omp_clauses
kono
parents:
diff changeset
682 union member instead of omp_name.
kono
parents:
diff changeset
683 (gfc_match_omp_end_critical): New function.
kono
parents:
diff changeset
684 (gfc_match_omp_distribute_parallel_do): Remove ordered and linear
kono
parents:
diff changeset
685 clauses from the mask.
kono
parents:
diff changeset
686 (gfc_match_omp_distribute_parallel_do_simd): Use
kono
parents:
diff changeset
687 & ~(omp_mask (OMP_CLAUSE_*)) instead of & ~OMP_CLAUSE_*.
kono
parents:
diff changeset
688 (gfc_match_omp_target_teams_distribute_parallel_do_simd): Likewise.
kono
parents:
diff changeset
689 (gfc_match_omp_teams_distribute_parallel_do_simd): Likewise.
kono
parents:
diff changeset
690 (gfc_match_omp_do_simd): Likewise. Don't remove ordered clause from
kono
parents:
diff changeset
691 the mask.
kono
parents:
diff changeset
692 (gfc_match_omp_parallel_do_simd): Likewise.
kono
parents:
diff changeset
693 (gfc_match_omp_target_teams_distribute_parallel_do): Likewise.
kono
parents:
diff changeset
694 (gfc_match_omp_teams_distribute_parallel_do): Likewise.
kono
parents:
diff changeset
695 (gfc_match_omp_declare_simd): If not using the form with
kono
parents:
diff changeset
696 (proc-name), require space before first clause. Make (proc-name)
kono
parents:
diff changeset
697 optional. If not present, set proc_name to NULL.
kono
parents:
diff changeset
698 (gfc_match_omp_declare_target): Rewritten for OpenMP 4.5.
kono
parents:
diff changeset
699 (gfc_match_omp_single): Use OMP_SINGLE_CLAUSES.
kono
parents:
diff changeset
700 (gfc_match_omp_task, gfc_match_omp_taskwait, gfc_match_omp_taskyield):
kono
parents:
diff changeset
701 Move around to where they belong alphabetically.
kono
parents:
diff changeset
702 (gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data,
kono
parents:
diff changeset
703 gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do,
kono
parents:
diff changeset
704 gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
kono
parents:
diff changeset
705 gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd):
kono
parents:
diff changeset
706 New functions.
kono
parents:
diff changeset
707 (gfc_match_omp_ordered): Parse clauses.
kono
parents:
diff changeset
708 (gfc_match_omp_ordered_depend): New function.
kono
parents:
diff changeset
709 (gfc_match_omp_cancel, gfc_match_omp_end_single): Use
kono
parents:
diff changeset
710 omp_mask (OMP_CLAUSE_*) instead of OMP_CLAUSE_*.
kono
parents:
diff changeset
711 (resolve_oacc_scalar_int_expr): Renamed to ...
kono
parents:
diff changeset
712 (resolve_scalar_int_expr): ... this. Fix up formatting.
kono
parents:
diff changeset
713 (resolve_oacc_positive_int_expr): Renamed to ...
kono
parents:
diff changeset
714 (resolve_positive_int_expr): ... this. Fix up formatting.
kono
parents:
diff changeset
715 (resolve_nonnegative_int_expr): New function.
kono
parents:
diff changeset
716 (resolve_omp_clauses): Adjust callers, use the above functions
kono
parents:
diff changeset
717 even for OpenMP clauses, add handling of new OpenMP 4.5 clauses.
kono
parents:
diff changeset
718 Require orderedc >= collapse if specified. Handle depend(sink:)
kono
parents:
diff changeset
719 and depend(source) restrictions. Disallow linear clause when
kono
parents:
diff changeset
720 orderedc is non-zero. Diagnose linear clause modifiers when not in
kono
parents:
diff changeset
721 declare simd. Only check for integer type if ref modifier
kono
parents:
diff changeset
722 is not used. Remove diagnostics for required VALUE attribute.
kono
parents:
diff changeset
723 Diagnose VALUE attribute with ref or uval modifiers. Allow
kono
parents:
diff changeset
724 non-constant linear-step, if it is a dummy argument alone and is
kono
parents:
diff changeset
725 mentioned in uniform clause. Diagnose map kinds not allowed
kono
parents:
diff changeset
726 for various constructs. Diagnose target {enter ,exit ,}data without
kono
parents:
diff changeset
727 any map clauses. Add dummy OMP_LIST_IS_DEVICE_PTR and
kono
parents:
diff changeset
728 OMP_LIST_USE_DEVICE_PTR cases.
kono
parents:
diff changeset
729 (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to orderedc
kono
parents:
diff changeset
730 if non-zero.
kono
parents:
diff changeset
731 (gfc_resolve_omp_parallel_blocks): Handle new OpenMP 4.5 constructs,
kono
parents:
diff changeset
732 replace underscores with spaces in a few construct names.
kono
parents:
diff changeset
733 (resolve_omp_do): Set collapse to orderedc if non-zero. Handle new
kono
parents:
diff changeset
734 OpenMP 4.5 constructs.
kono
parents:
diff changeset
735 (resolve_oacc_loop_blocks): Call resolve_positive_int_expr instead
kono
parents:
diff changeset
736 of resolve_oacc_positive_int_expr.
kono
parents:
diff changeset
737 (gfc_resolve_omp_directive): Handle new OpenMP 4.5 constructs.
kono
parents:
diff changeset
738 (gfc_resolve_omp_declare_simd): Allow ods->proc_name to be NULL.
kono
parents:
diff changeset
739 * trans-openmp.c (gfc_omp_scalar_p): New function.
kono
parents:
diff changeset
740 (doacross_steps): New variable.
kono
parents:
diff changeset
741 (gfc_trans_omp_clauses): Handle new OpenMP 4.5 clauses and new clause
kono
parents:
diff changeset
742 modifiers.
kono
parents:
diff changeset
743 (gfc_trans_omp_critical): Adjust EXEC_OMP_CRITICAL handling.
kono
parents:
diff changeset
744 (gfc_trans_omp_do): Handle doacross loops. Clear sched_simd flag.
kono
parents:
diff changeset
745 Handle EXEC_OMP_TASKLOOP.
kono
parents:
diff changeset
746 (gfc_trans_omp_ordered): Translate omp clauses, allow NULL
kono
parents:
diff changeset
747 code->block.
kono
parents:
diff changeset
748 (GFC_OMP_SPLIT_TASKLOOP, GFC_OMP_MASK_TASKLOOP): New enum constants.
kono
parents:
diff changeset
749 (gfc_split_omp_clauses): Copy orderedc together with ordered. Change
kono
parents:
diff changeset
750 firstprivate and lastprivate handling for OpenMP 4.5.
kono
parents:
diff changeset
751 Handle EXEC_OMP_TARGET_SIMD, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
kono
parents:
diff changeset
752 and EXEC_OMP_TASKLOOP{,_SIMD}. Add handling for new OpenMP 4.5
kono
parents:
diff changeset
753 clauses and clause modifiers and handle if clause without/with
kono
parents:
diff changeset
754 modifiers.
kono
parents:
diff changeset
755 (gfc_trans_omp_teams): Add omp_clauses argument, add it to other
kono
parents:
diff changeset
756 teams clauses. Don't wrap into OMP_TEAMS if -fopenmp-simd.
kono
parents:
diff changeset
757 (gfc_trans_omp_target): For -fopenmp, translate num_teams and
kono
parents:
diff changeset
758 thread_limit clauses on combined target teams early and pass to
kono
parents:
diff changeset
759 gfc_trans_omp_teams. Set OMP_TARGET_COMBINED if needed.
kono
parents:
diff changeset
760 Handle EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and
kono
parents:
diff changeset
761 EXEC_OMP_TARGET_SIMD.
kono
parents:
diff changeset
762 (gfc_trans_omp_taskloop, gfc_trans_omp_target_enter_data,
kono
parents:
diff changeset
763 gfc_trans_omp_target_exit_data): New functions.
kono
parents:
diff changeset
764 (gfc_trans_omp_directive): Handle EXEC_OMP_TARGET_{ENTER,EXIT}_DATA
kono
parents:
diff changeset
765 EXEC_OMP_TASKLOOP{,_SIMD}, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
kono
parents:
diff changeset
766 and EXEC_OMP_TARGET_SIMD. Adjust gfc_trans_omp_teams caller.
kono
parents:
diff changeset
767 * symbol.c (check_conflict): Handle omp_declare_target_link.
kono
parents:
diff changeset
768 (gfc_add_omp_declare_target_link): New function.
kono
parents:
diff changeset
769 (gfc_copy_attr): Copy omp_declare_target_link.
kono
parents:
diff changeset
770 * dump-parse-tree.c (show_omp_namelist): Handle OMP_DEPEND_SINK_FIRST
kono
parents:
diff changeset
771 depend_op. Print linear clause modifiers.
kono
parents:
diff changeset
772 (show_omp_clauses): Adjust for OpenMP 4.5 clause changes.
kono
parents:
diff changeset
773 (show_omp_node): Print clauses for EXEC_OMP_ORDERED. Allow NULL
kono
parents:
diff changeset
774 c->block for EXEC_OMP_ORDERED. Formatting fixes. Adjust handling of
kono
parents:
diff changeset
775 EXEC_OMP_CRITICAL, handle new OpenMP 4.5 constructs and some
kono
parents:
diff changeset
776 forgotten OpenMP 4.0 constructs.
kono
parents:
diff changeset
777 (show_code_node): Handle new OpenMP 4.5 constructs and some forgotten
kono
parents:
diff changeset
778 OpenMP 4.0 constructs.
kono
parents:
diff changeset
779 * gfortran.h (symbol_attribute): Add omp_declare_target_link bitfield.
kono
parents:
diff changeset
780 (struct gfc_omp_namelist): Add u.common and u.linear_op fields.
kono
parents:
diff changeset
781 (struct gfc_common_head): Change omp_declare_target into bitfield.
kono
parents:
diff changeset
782 Add omp_declare_target_link bitfield.
kono
parents:
diff changeset
783 (gfc_add_omp_declare_target_link): New prototype.
kono
parents:
diff changeset
784 (enum gfc_statement): Add ST_OMP_TARGET_PARALLEL,
kono
parents:
diff changeset
785 ST_OMP_END_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO,
kono
parents:
diff changeset
786 ST_OMP_END_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
kono
parents:
diff changeset
787 ST_OMP_END_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_ENTER_DATA,
kono
parents:
diff changeset
788 ST_OMP_TARGET_EXIT_DATA, ST_OMP_TARGET_SIMD, ST_OMP_END_TARGET_SIMD,
kono
parents:
diff changeset
789 ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_TASKLOOP_SIMD,
kono
parents:
diff changeset
790 ST_OMP_END_TASKLOOP_SIMD and ST_OMP_ORDERED_DEPEND.
kono
parents:
diff changeset
791 (enum gfc_omp_depend_op): Add OMP_DEPEND_SINK_FIRST and
kono
parents:
diff changeset
792 OMP_DEPEND_SINK.
kono
parents:
diff changeset
793 (enum gfc_omp_linear_op): New.
kono
parents:
diff changeset
794 (struct gfc_omp_clauses): Add critical_name, depend_source,
kono
parents:
diff changeset
795 orderedc, defaultmap, nogroup, sched_simd, sched_monotonic,
kono
parents:
diff changeset
796 sched_nonmonotonic, simd, threads, grainsize, hint, num_tasks,
kono
parents:
diff changeset
797 priority and if_exprs fields.
kono
parents:
diff changeset
798 (enum gfc_exec_op): Add EXEC_OMP_END_CRITICAL,
kono
parents:
diff changeset
799 EXEC_OMP_TARGET_ENTER_DATA, EXEC_OMP_TARGET_EXIT_DATA,
kono
parents:
diff changeset
800 EXEC_OMP_TARGET_PARALLEL, EXEC_OMP_TARGET_PARALLEL_DO,
kono
parents:
diff changeset
801 EXEC_OMP_TARGET_PARALLEL_DO_SIMD, EXEC_OMP_TARGET_SIMD,
kono
parents:
diff changeset
802 EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD.
kono
parents:
diff changeset
803 (enum gfc_omp_map_op): Add OMP_MAP_RELEASE,
kono
parents:
diff changeset
804 OMP_MAP_ALWAYS_TO, OMP_MAP_ALWAYS_FROM and OMP_MAP_ALWAYS_TOFROM.
kono
parents:
diff changeset
805 (OMP_LIST_IS_DEVICE_PTR, OMP_LIST_USE_DEVICE_PTR): New.
kono
parents:
diff changeset
806 (enum gfc_omp_if_kind): New.
kono
parents:
diff changeset
807 * module.c (enum ab_attribute): Add AB_OMP_DECLARE_TARGET_LINK.
kono
parents:
diff changeset
808 (attr_bits): Add AB_OMP_DECLARE_TARGET_LINK entry.
kono
parents:
diff changeset
809 (mio_symbol_attribute): Save and restore omp_declare_target_link bit.
kono
parents:
diff changeset
810 * trans.h (gfc_omp_scalar_p): New prototype.
kono
parents:
diff changeset
811 * frontend-passes.c (gfc_code_walker): Handle new OpenMP 4.5
kono
parents:
diff changeset
812 expressions.
kono
parents:
diff changeset
813 * trans.c (trans_code): Handle new OpenMP 4.5 constructs.
kono
parents:
diff changeset
814 * resolve.c (gfc_resolve_blocks): Likewise.
kono
parents:
diff changeset
815 (gfc_resolve_code): Likewise.
kono
parents:
diff changeset
816 * f95-lang.c (LANG_HOOKS_OMP_SCALAR_P): Redefine to gfc_omp_scalar_p.
kono
parents:
diff changeset
817 (gfc_attribute_table): Add "omp declare target link".
kono
parents:
diff changeset
818 * st.c (gfc_free_statement): Handle EXEC_OMP_END_CRITICAL like
kono
parents:
diff changeset
819 EXEC_OMP_CRITICAL before, free clauses for EXEC_OMP_CRITICAL
kono
parents:
diff changeset
820 and new OpenMP 4.5 constructs. Free omp clauses even for
kono
parents:
diff changeset
821 EXEC_OMP_ORDERED.
kono
parents:
diff changeset
822 * match.c (match_exit_cycle): Rename collapse variable to count,
kono
parents:
diff changeset
823 set it to orderedc if non-zero, instead of collapse.
kono
parents:
diff changeset
824 * trans-decl.c (add_attributes_to_decl): Add "omp declare target link"
kono
parents:
diff changeset
825 instead of "omp declare target" for omp_declare_target_link.
kono
parents:
diff changeset
826 * trans-common.c (build_common_decl): Likewise.
kono
parents:
diff changeset
827 * match.h (gfc_match_omp_target_enter_data,
kono
parents:
diff changeset
828 gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel,
kono
parents:
diff changeset
829 gfc_match_omp_target_parallel_do,
kono
parents:
diff changeset
830 gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
kono
parents:
diff changeset
831 gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd,
kono
parents:
diff changeset
832 gfc_match_omp_end_critical, gfc_match_omp_ordered_depend): New
kono
parents:
diff changeset
833 prototypes.
kono
parents:
diff changeset
834 * parse.c (decode_omp_directive): Use gfc_match_omp_end_critical
kono
parents:
diff changeset
835 instead of gfc_match_omp_critical for !$omp end critical.
kono
parents:
diff changeset
836 Handle new OpenMP 4.5 constructs. If ordered directive has
kono
parents:
diff changeset
837 depend clause as the first of the clauses, use
kono
parents:
diff changeset
838 gfc_match_omp_ordered_depend and ST_OMP_ORDERED_DEPEND instead of
kono
parents:
diff changeset
839 gfc_match_omp_ordered and ST_OMP_ORDERED.
kono
parents:
diff changeset
840 (case_executable): Add ST_OMP_TARGET_ENTER_DATA,
kono
parents:
diff changeset
841 ST_OMP_TARGET_EXIT_DATA and ST_OMP_ORDERED_DEPEND cases.
kono
parents:
diff changeset
842 (case_exec_markers): Add ST_OMP_TARGET_PARALLEL,
kono
parents:
diff changeset
843 ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
kono
parents:
diff changeset
844 ST_OMP_TARGET_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD cases.
kono
parents:
diff changeset
845 (gfc_ascii_statement): Handle new OpenMP 4.5 constructs.
kono
parents:
diff changeset
846 (parse_omp_do): Handle ST_OMP_TARGET_PARALLEL_DO,
kono
parents:
diff changeset
847 ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and
kono
parents:
diff changeset
848 ST_OMP_TASKLOOP_SIMD.
kono
parents:
diff changeset
849 (parse_omp_structured_block): Handle EXEC_OMP_END_CRITICAL instead
kono
parents:
diff changeset
850 of EXEC_OMP_CRITICAL, adjust for EXEC_OMP_CRITICAL having omp clauses
kono
parents:
diff changeset
851 now.
kono
parents:
diff changeset
852 (parse_executable): Handle ST_OMP_TARGET_PARALLEL,
kono
parents:
diff changeset
853 ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
kono
parents:
diff changeset
854 ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD.
kono
parents:
diff changeset
855
kono
parents:
diff changeset
856 2016-11-09 Mikael Morin <mikael@gcc.gnu.org>
kono
parents:
diff changeset
857 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
858
kono
parents:
diff changeset
859 PR fortran/46459
kono
parents:
diff changeset
860 * interface.c (compare_actual_formal): Add safety checks to avoid ICE.
kono
parents:
diff changeset
861
kono
parents:
diff changeset
862 2016-11-09 Fritz O. Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
863
kono
parents:
diff changeset
864 PR fortran/78259
kono
parents:
diff changeset
865 * trans-expr.c (gfc_trans_subcomponent_assign): Guard against NULL
kono
parents:
diff changeset
866 values.
kono
parents:
diff changeset
867
kono
parents:
diff changeset
868 2016-11-09 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
869 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
870
kono
parents:
diff changeset
871 PR fortran/60777
kono
parents:
diff changeset
872 * expr.c (external_spec_function): Allow recursive specification
kono
parents:
diff changeset
873 functions in F03.
kono
parents:
diff changeset
874
kono
parents:
diff changeset
875 2016-11-09 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
876
kono
parents:
diff changeset
877 * check.c (gfc_check_move_alloc): Prevent error that avoids
kono
parents:
diff changeset
878 aliasing between to and from arguments from rejecting valid
kono
parents:
diff changeset
879 code.
kono
parents:
diff changeset
880
kono
parents:
diff changeset
881 2016-11-09 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
882
kono
parents:
diff changeset
883 PR fortran/71894
kono
parents:
diff changeset
884 * class.c (gfc_add_component_ref): Add safety checks to avoid ICE.
kono
parents:
diff changeset
885
kono
parents:
diff changeset
886 2016-11-08 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
887
kono
parents:
diff changeset
888 PR fortran/68440
kono
parents:
diff changeset
889 * expr.c (check_alloc_comp_init): Loosen an assert.
kono
parents:
diff changeset
890 * resolve.c (resolve_fl_parameter): Reject class parameters.
kono
parents:
diff changeset
891
kono
parents:
diff changeset
892 2016-11-08 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
893
kono
parents:
diff changeset
894 PR fortran/77596
kono
parents:
diff changeset
895 * expr.c (gfc_check_pointer_assign): Add special check for procedure-
kono
parents:
diff changeset
896 pointer component with absent interface.
kono
parents:
diff changeset
897
kono
parents:
diff changeset
898 2016-11-07 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
899
kono
parents:
diff changeset
900 PR fortran/78226
kono
parents:
diff changeset
901 * expr.c (gfc_generate_initializer): Add where to EXPR_NULL
kono
parents:
diff changeset
902 statement.
kono
parents:
diff changeset
903 * iresolve.c (gfc_resolve_extends_type_of): Add where to
kono
parents:
diff changeset
904 both arguments of the function.
kono
parents:
diff changeset
905 * resolve.c (resolve_select_type): Add where to the
kono
parents:
diff changeset
906 second argument of the new statement.
kono
parents:
diff changeset
907
kono
parents:
diff changeset
908 2016-11-07 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
909
kono
parents:
diff changeset
910 PR fortran/78226
kono
parents:
diff changeset
911 * match.c (gfc_match_select_type): Add where for expr1.
kono
parents:
diff changeset
912 * resolve.c (resolev_select_type): Add where for expr1 of new
kono
parents:
diff changeset
913 statement.
kono
parents:
diff changeset
914
kono
parents:
diff changeset
915 2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
916
kono
parents:
diff changeset
917 PR fortran/78226
kono
parents:
diff changeset
918 resolve.c (build_loc_call): Add location to return value.
kono
parents:
diff changeset
919
kono
parents:
diff changeset
920 2016-11-06 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
921
kono
parents:
diff changeset
922 * expr.c (is_non_empty_structure_constructor): New function to detect
kono
parents:
diff changeset
923 non-empty structure constructor.
kono
parents:
diff changeset
924 (gfc_has_default_initializer): Analyse initializers.
kono
parents:
diff changeset
925 * resolve.c (cond_init): Removed.
kono
parents:
diff changeset
926 (resolve_allocate_expr): Removed dead code. Moved invariant code out
kono
parents:
diff changeset
927 of the loop over all objects to allocate.
kono
parents:
diff changeset
928 (resolve_allocate_deallocate): Added the invariant code remove from
kono
parents:
diff changeset
929 resolve_allocate_expr.
kono
parents:
diff changeset
930 * trans-array.c (gfc_array_allocate): Removed nullify of structure
kono
parents:
diff changeset
931 components in favour of doing this in gfc_trans_allocate for both
kono
parents:
diff changeset
932 scalars and arrays in the same place.
kono
parents:
diff changeset
933 * trans-expr.c (gfc_trans_init_assign): Always using _vptr->copy for
kono
parents:
diff changeset
934 class objects.
kono
parents:
diff changeset
935 * trans-stmt.c (allocate_get_initializer): Get the initializer
kono
parents:
diff changeset
936 expression for object allocated.
kono
parents:
diff changeset
937 (gfc_trans_allocate): Nullify a derived type only, when no SOURCE=
kono
parents:
diff changeset
938 or MOLD= is present preventing duplicate work. Moved the creation
kono
parents:
diff changeset
939 of the init-expression here to prevent code for conditions that
kono
parents:
diff changeset
940 can not occur on freshly allocated object, like checking for the need
kono
parents:
diff changeset
941 to free allocatable components.
kono
parents:
diff changeset
942
kono
parents:
diff changeset
943 2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
944
kono
parents:
diff changeset
945 PR fortran/78221
kono
parents:
diff changeset
946 * arith.c (gfc_complex2real): Change gfc_warning_now to
kono
parents:
diff changeset
947 gfc_warning.
kono
parents:
diff changeset
948
kono
parents:
diff changeset
949 2016-11-05 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
950
kono
parents:
diff changeset
951 * check.c (gfc_check_move_alloc): Introduce error to prevent
kono
parents:
diff changeset
952 aliasing between to and from arguments.
kono
parents:
diff changeset
953
kono
parents:
diff changeset
954 2016-11-05 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
955 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
kono
parents:
diff changeset
956
kono
parents:
diff changeset
957 PR fortran/69495
kono
parents:
diff changeset
958 * invoke.texi: Mention -Wpedantic as an alias of -pedantic.
kono
parents:
diff changeset
959 * check.c (gfc_check_transfer): Mention responsible flag in warning
kono
parents:
diff changeset
960 message.
kono
parents:
diff changeset
961 * frontend-passes.c (do_warn_function_elimination): Ditto.
kono
parents:
diff changeset
962 * resolve.c (resolve_elemental_actual): Ditto.
kono
parents:
diff changeset
963 (resolve_operator): Ditto.
kono
parents:
diff changeset
964 (warn_unused_fortran_label): Ditto.
kono
parents:
diff changeset
965 * trans-common.c (translate_common): Ditto.
kono
parents:
diff changeset
966
kono
parents:
diff changeset
967 2016-11-05 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
968
kono
parents:
diff changeset
969 PR fortran/67564
kono
parents:
diff changeset
970 * trans-expr.c (gfc_conv_class_to_class): Return _len component
kono
parents:
diff changeset
971 of unlimited polymorphic entities.
kono
parents:
diff changeset
972
kono
parents:
diff changeset
973 2016-11-04 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
974
kono
parents:
diff changeset
975 PR fortran/64933
kono
parents:
diff changeset
976 * primary.c (gfc_match_varspec): If selector expression is
kono
parents:
diff changeset
977 unambiguously an array, make sure that the associate name
kono
parents:
diff changeset
978 is an array and has an array spec. Modify the original
kono
parents:
diff changeset
979 condition for doing this to exclude character types.
kono
parents:
diff changeset
980
kono
parents:
diff changeset
981 2016-11-03 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
982
kono
parents:
diff changeset
983 * gfortran.texi: Document.
kono
parents:
diff changeset
984 * gfortran.h (gfc_dt): New field default_exp.
kono
parents:
diff changeset
985 * primary.c (match_real_constant): Default exponent with -fdec.
kono
parents:
diff changeset
986 * io.c (match_io): Set dt.default_exp with -fdec.
kono
parents:
diff changeset
987 * ioparm.def (IOPARM_dt_default_exp): New.
kono
parents:
diff changeset
988 * trans-io.c (build_dt): Set IOPARM_dt_default_exp with -fdec.
kono
parents:
diff changeset
989
kono
parents:
diff changeset
990 2016-11-03 Fritz O. Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
991
kono
parents:
diff changeset
992 * decl.c (gfc_match_parameter): Allow omitted '()' with -std=legacy.
kono
parents:
diff changeset
993 * parse.c (decode_statement): Match "parameter" before assignments.
kono
parents:
diff changeset
994 * gfortran.texi: Document.
kono
parents:
diff changeset
995
kono
parents:
diff changeset
996 2016-11-02 Fritz O. Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
997
kono
parents:
diff changeset
998 * lang.opt, invoke.texi: New argument -Wargument-mismatch.
kono
parents:
diff changeset
999 * interface.c (compare_parameter, compare_actual_formal,
kono
parents:
diff changeset
1000 gfc_check_typebound_override, argument_rank_mismatch): Control argument
kono
parents:
diff changeset
1001 mismatch warnings with -Wargument-mismatch.
kono
parents:
diff changeset
1002 * resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto.
kono
parents:
diff changeset
1003
kono
parents:
diff changeset
1004 2016-11-02 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1005
kono
parents:
diff changeset
1006 * gfortran.h (gfc_error): New declaration for gfc_error with 'opt'.
kono
parents:
diff changeset
1007 * error.c (gfc_error): Add optional 'opt' argument.
kono
parents:
diff changeset
1008 * error.c (gfc_notify_std): Call fully-qualified gfc_error.
kono
parents:
diff changeset
1009
kono
parents:
diff changeset
1010 2016-11-01 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1011
kono
parents:
diff changeset
1012 PR fortran/78178
kono
parents:
diff changeset
1013 * match.c (match_simple_where): Fill in locus for assigment
kono
parents:
diff changeset
1014 in simple WHERE statement.
kono
parents:
diff changeset
1015
kono
parents:
diff changeset
1016 2016-11-01 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1017
kono
parents:
diff changeset
1018 PR fortran/69544
kono
parents:
diff changeset
1019 * match.c (gfc_match_where): Fill in locus for assigment
kono
parents:
diff changeset
1020 in simple WHERE statement.
kono
parents:
diff changeset
1021
kono
parents:
diff changeset
1022 2016-10-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1023
kono
parents:
diff changeset
1024 PR fortran/54679
kono
parents:
diff changeset
1025 * io.c (check_format): Adjust checks for FMT_L to treat a zero
kono
parents:
diff changeset
1026 width as an extension, giving warnings or error as appropriate.
kono
parents:
diff changeset
1027 Improve messages.
kono
parents:
diff changeset
1028
kono
parents:
diff changeset
1029 2016-10-31 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1030
kono
parents:
diff changeset
1031 * trans-types.c (gfc_get_array_descr_info): For -gdwarf-5 or
kono
parents:
diff changeset
1032 -gno-strict-dwarf, handle assumed rank arrays the way dwarf2out
kono
parents:
diff changeset
1033 expects.
kono
parents:
diff changeset
1034
kono
parents:
diff changeset
1035 2016-10-30 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1036
kono
parents:
diff changeset
1037 PR fortran/67219
kono
parents:
diff changeset
1038 * arith.c (gfc_int2real): Change gfc_warning_now
kono
parents:
diff changeset
1039 to gfc_warning.
kono
parents:
diff changeset
1040 * primary.c (match_complex_constant): If there
kono
parents:
diff changeset
1041 is no comma, throw away any warning which might have
kono
parents:
diff changeset
1042 been issued by gfc_int2real.
kono
parents:
diff changeset
1043
kono
parents:
diff changeset
1044 2016-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1045
kono
parents:
diff changeset
1046 PR fortran/71891
kono
parents:
diff changeset
1047 * symbol.c (gfc_type_compatible): Fix typo.
kono
parents:
diff changeset
1048
kono
parents:
diff changeset
1049 2016-10-27 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1050
kono
parents:
diff changeset
1051 PR fortran/78026
kono
parents:
diff changeset
1052 * parse.c (decode_statement): Don't create namespace for possible
kono
parents:
diff changeset
1053 select type here and destroy it afterwards.
kono
parents:
diff changeset
1054 (parse_select_type_block): Set gfc_current_ns to new_st.ext.block.ns.
kono
parents:
diff changeset
1055 (parse_executable, gfc_parse_file): Formatting fixes.
kono
parents:
diff changeset
1056 * match.c (gfc_match_select_type): Create namespace for select type
kono
parents:
diff changeset
1057 here, only after matching select type. Formatting fixes. Free that
kono
parents:
diff changeset
1058 namespace if not returning MATCH_YES, after gfc_undo_symbols,
kono
parents:
diff changeset
1059 otherwise remember it in new_st.ext.block.ns and switch to parent
kono
parents:
diff changeset
1060 namespace anyway.
kono
parents:
diff changeset
1061
kono
parents:
diff changeset
1062 2016-10-27 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1063
kono
parents:
diff changeset
1064 * expr.c (generate_union_initializer, get_union_initializer): New.
kono
parents:
diff changeset
1065 * expr.c (component_initializer): Consider BT_UNION specially.
kono
parents:
diff changeset
1066 * resolve.c (resolve_structure_cons): Hack for BT_UNION.
kono
parents:
diff changeset
1067 * trans-expr.c (gfc_trans_subcomponent_assign): Ditto.
kono
parents:
diff changeset
1068 * trans-expr.c (gfc_conv_union_initializer): New.
kono
parents:
diff changeset
1069 * trans-expr.c (gfc_conv_structure): Replace UNION handling code with
kono
parents:
diff changeset
1070 new function gfc_conv_union_initializer.
kono
parents:
diff changeset
1071
kono
parents:
diff changeset
1072 2016-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1073
kono
parents:
diff changeset
1074 PR fortran/78092
kono
parents:
diff changeset
1075 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Fix reference to an
kono
parents:
diff changeset
1076 array element of type CLASS.
kono
parents:
diff changeset
1077
kono
parents:
diff changeset
1078 2016-10-26 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1079
kono
parents:
diff changeset
1080 PR fortran/78108
kono
parents:
diff changeset
1081 * resolve.c (resolve_typebound_intrinsic_op): For submodules
kono
parents:
diff changeset
1082 suppress the error and return if the same procedure symbol
kono
parents:
diff changeset
1083 is added more than once to the interface.
kono
parents:
diff changeset
1084
kono
parents:
diff changeset
1085 2016-10-26 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1086
kono
parents:
diff changeset
1087 * frontend-passes.c (gfc_code_walker): Add SHARE and CARRIAGECONTROL.
kono
parents:
diff changeset
1088 * io.c (gfc_free_open, gfc_resolve_open, gfc_match_open): Ditto.
kono
parents:
diff changeset
1089 * gfortran.h (gfc_open): Add SHARE, CARRIAGECONTROL, and READONLY.
kono
parents:
diff changeset
1090 * io.c (io_tag, match_open_element): Ditto.
kono
parents:
diff changeset
1091 * ioparm.def: Ditto.
kono
parents:
diff changeset
1092 * trans-io.c (gfc_trans_open): Ditto.
kono
parents:
diff changeset
1093 * io.c (match_dec_etag, match_dec_ftag): New functions.
kono
parents:
diff changeset
1094 * gfortran.texi: Document.
kono
parents:
diff changeset
1095
kono
parents:
diff changeset
1096 2016-10-25 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1097
kono
parents:
diff changeset
1098 * gfortran.texi: Document.
kono
parents:
diff changeset
1099 * resolve.c (logical_to_bitwise): New function.
kono
parents:
diff changeset
1100 * resolve.c (resolve_operator): Wrap operands with logical_to_bitwise.
kono
parents:
diff changeset
1101
kono
parents:
diff changeset
1102 2016-10-25 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1103
kono
parents:
diff changeset
1104 PR fortran/72770
kono
parents:
diff changeset
1105 * class.c (find_intrinsic_vtab): No longer encode the string length
kono
parents:
diff changeset
1106 into vtype's name and use the char's kind for the size instead of
kono
parents:
diff changeset
1107 the string_length time the size.
kono
parents:
diff changeset
1108 * trans-array.c (gfc_conv_ss_descriptor): For deferred length char
kono
parents:
diff changeset
1109 arrays the dynamically sized type needs to be declared.
kono
parents:
diff changeset
1110 (build_class_array_ref): Address the i-th array element by multiplying
kono
parents:
diff changeset
1111 it with the _vptr->_size and the _len to make sure char arrays are
kono
parents:
diff changeset
1112 addressed correctly.
kono
parents:
diff changeset
1113 * trans-expr.c (gfc_conv_intrinsic_to_class): Made comment more
kono
parents:
diff changeset
1114 precise.
kono
parents:
diff changeset
1115
kono
parents:
diff changeset
1116 2016-10-25 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
1117
kono
parents:
diff changeset
1118 * intrinsic.texi (cosd): New mathop.
kono
parents:
diff changeset
1119
kono
parents:
diff changeset
1120 2016-10-25 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1121
kono
parents:
diff changeset
1122 * match.c (gfc_match_intrinsic_op): Match ".XOR." with -std=legacy.
kono
parents:
diff changeset
1123 * gfortran.texi: Document.
kono
parents:
diff changeset
1124
kono
parents:
diff changeset
1125 2016-10-25 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1126
kono
parents:
diff changeset
1127 * primary.c (gfc_match_rvalue): Match %LOC as LOC with -std=legacy.
kono
parents:
diff changeset
1128 * gfortran.texi: Document.
kono
parents:
diff changeset
1129
kono
parents:
diff changeset
1130 2016-10-25 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1131
kono
parents:
diff changeset
1132 * decl.c (gfc_match_type): New function.
kono
parents:
diff changeset
1133 * match.h (gfc_match_type): New function.
kono
parents:
diff changeset
1134 * match.c (gfc_match_if): Special case for one-line IFs.
kono
parents:
diff changeset
1135 * gfortran.texi: Update documentation.
kono
parents:
diff changeset
1136 * parse.c (decode_statement): Invoke gfc_match_type.
kono
parents:
diff changeset
1137
kono
parents:
diff changeset
1138 2016-10-25 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1139
kono
parents:
diff changeset
1140 * gfortran.texi: Document.
kono
parents:
diff changeset
1141 * gfortran.h (gfc_is_whitespace): Include form feed ('\f').
kono
parents:
diff changeset
1142
kono
parents:
diff changeset
1143 2016-10-25 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1144
kono
parents:
diff changeset
1145 * invoke.texi, gfortran.texi: Touch up documentation of -fdec.
kono
parents:
diff changeset
1146 * gfortran.h (gfc_option): Move flag_dec_structure out of gfc_option.
kono
parents:
diff changeset
1147 * decl.c (match_record_decl, gfc_match_decl_type_spec,
kono
parents:
diff changeset
1148 gfc_match_structure_decl): Ditto.
kono
parents:
diff changeset
1149 * match.c (gfc_match_member_sep): Ditto.
kono
parents:
diff changeset
1150 * options.c (gfc_handle_option): Ditto.
kono
parents:
diff changeset
1151 * lang.opt (fdec-structure): Use Fortran Var for flag_dec_structure.
kono
parents:
diff changeset
1152 * lang.opt (fdec): Use Fortran Var to create flag_dec.
kono
parents:
diff changeset
1153 * options.c (set_dec_flags): With -fdec enable -fcray-pointer,
kono
parents:
diff changeset
1154 -fd-lines-as-comments (default), -fdollar-ok, and legacy std flags.
kono
parents:
diff changeset
1155
kono
parents:
diff changeset
1156 2016-10-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1157
kono
parents:
diff changeset
1158 PR fortran/77828
kono
parents:
diff changeset
1159 * ioparm.def: Reorder dt parameters to match libgfortran.
kono
parents:
diff changeset
1160 * libgfortran.h: Swap definitions of GFC_INTERNAL_UNIT and
kono
parents:
diff changeset
1161 GFC_INTERNAL_UNIT4.
kono
parents:
diff changeset
1162
kono
parents:
diff changeset
1163 2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1164
kono
parents:
diff changeset
1165 PR fortran/71895
kono
parents:
diff changeset
1166 * interface.c (gfc_compare_derived_types): Convert gcc_assert()
kono
parents:
diff changeset
1167 to a gfc_internal_error() to prevent an ICE.
kono
parents:
diff changeset
1168
kono
parents:
diff changeset
1169 2016-10-24 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1170
kono
parents:
diff changeset
1171 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use VAR_P (x)
kono
parents:
diff changeset
1172 instead of TREE_CODE (x) == VAR_DECL.
kono
parents:
diff changeset
1173 * trans-expr.c (gfc_class_vptr_get, gfc_class_len_get,
kono
parents:
diff changeset
1174 gfc_class_len_or_zero_get, gfc_get_vptr_from_expr,
kono
parents:
diff changeset
1175 gfc_conv_string_length, conv_base_obj_fcn_val,
kono
parents:
diff changeset
1176 gfc_conv_procedure_call, gfc_trans_assignment_1): Likewise.
kono
parents:
diff changeset
1177 * trans-openmp.c (gfc_omp_predetermined_sharing,
kono
parents:
diff changeset
1178 gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause,
kono
parents:
diff changeset
1179 gfc_trans_omp_atomic, gfc_trans_omp_do): Likewise.
kono
parents:
diff changeset
1180 * trans-io.c (nml_get_addr_expr): Likewise.
kono
parents:
diff changeset
1181 * trans-decl.c (gfc_finish_decl, gfc_build_qualified_array,
kono
parents:
diff changeset
1182 gfc_get_symbol_decl, gfc_get_fake_result_decl,
kono
parents:
diff changeset
1183 gfc_trans_deferred_vars, gfc_trans_use_stmts,
kono
parents:
diff changeset
1184 generate_local_decl): Likewise.
kono
parents:
diff changeset
1185 * trans-array.c (trans_array_constructor, trans_array_bound_check,
kono
parents:
diff changeset
1186 build_class_array_ref, gfc_array_init_size,
kono
parents:
diff changeset
1187 gfc_trans_auto_array_allocation, gfc_trans_g77_array,
kono
parents:
diff changeset
1188 gfc_trans_dummy_array_bias, gfc_alloc_allocatable_for_assignment,
kono
parents:
diff changeset
1189 gfc_trans_deferred_array): Likewise.
kono
parents:
diff changeset
1190 * trans.c (gfc_build_array_ref): Likewise. Use
kono
parents:
diff changeset
1191 VAR_OR_FUNCTION_DECL_P (x) instead of TREE_CODE (x) == VAR_DECL
kono
parents:
diff changeset
1192 || TREE_CODE (x) == FUNCTION_DECL.
kono
parents:
diff changeset
1193
kono
parents:
diff changeset
1194 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1195
kono
parents:
diff changeset
1196 PR fortran/77763
kono
parents:
diff changeset
1197 * parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA. Sort
kono
parents:
diff changeset
1198 case labels.
kono
parents:
diff changeset
1199
kono
parents:
diff changeset
1200 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1201
kono
parents:
diff changeset
1202 PR fortran/54730
kono
parents:
diff changeset
1203 PR fortran/78033
kono
parents:
diff changeset
1204 * array.c (gfc_match_array_constructor): Remove checkpointing
kono
parents:
diff changeset
1205 introduced in r196416 (original fix for PR fortran/54730). Move
kono
parents:
diff changeset
1206 initialization to top of function.
kono
parents:
diff changeset
1207 * match.c (gfc_match_type_spec): Special case matching for REAL.
kono
parents:
diff changeset
1208
kono
parents:
diff changeset
1209 2016-10-23 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1210
kono
parents:
diff changeset
1211 PR fortran/69834
kono
parents:
diff changeset
1212 * class.c (gfc_find_derived_vtab): Obtain the gsymbol for the
kono
parents:
diff changeset
1213 derived type's module. If the gsymbol is present and the top
kono
parents:
diff changeset
1214 level namespace corresponds to a module, use the gsymbol name
kono
parents:
diff changeset
1215 space. In the search to see if the vtable exists, try the gsym
kono
parents:
diff changeset
1216 namespace first.
kono
parents:
diff changeset
1217 * dump-parse-tree (show_code_node): Modify select case dump to
kono
parents:
diff changeset
1218 show select type construct.
kono
parents:
diff changeset
1219 * resolve.c (build_loc_call): New function.
kono
parents:
diff changeset
1220 (resolve_select_type): Add check for repeated type is cases.
kono
parents:
diff changeset
1221 Retain selector expression and use it later instead of expr1.
kono
parents:
diff changeset
1222 Exclude deferred length TYPE IS cases and emit error message.
kono
parents:
diff changeset
1223 Store the address for the vtable in the 'low' expression and
kono
parents:
diff changeset
1224 the hash value in the 'high' expression, for each case. Do not
kono
parents:
diff changeset
1225 call resolve_select.
kono
parents:
diff changeset
1226 * trans.c(trans_code) : Call gfc_trans_select_type.
kono
parents:
diff changeset
1227 * trans-stmt.c (gfc_trans_select_type_cases): New function.
kono
parents:
diff changeset
1228 (gfc_trans_select_type): New function.
kono
parents:
diff changeset
1229 * trans-stmt.h : Add prototype for gfc_trans_select_type.
kono
parents:
diff changeset
1230
kono
parents:
diff changeset
1231 2016-10-22 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1232
kono
parents:
diff changeset
1233 PR fortran/78021
kono
parents:
diff changeset
1234 * gfc_compare_functions: Strings with different lengths in
kono
parents:
diff changeset
1235 argument lists compare unequal.
kono
parents:
diff changeset
1236
kono
parents:
diff changeset
1237 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1238
kono
parents:
diff changeset
1239 PR fortran/43366
kono
parents:
diff changeset
1240 PR fortran/51864
kono
parents:
diff changeset
1241 PR fortran/57117
kono
parents:
diff changeset
1242 PR fortran/61337
kono
parents:
diff changeset
1243 PR fortran/61376
kono
parents:
diff changeset
1244 * primary.c (gfc_expr_attr): For transformational functions on classes
kono
parents:
diff changeset
1245 get the attrs from the class argument.
kono
parents:
diff changeset
1246 * resolve.c (resolve_ordinary_assign): Remove error message due to
kono
parents:
diff changeset
1247 feature implementation. Rewrite POINTER_ASSIGNS to ordinary ones when
kono
parents:
diff changeset
1248 the right-hand side is scalar class object (with some restrictions).
kono
parents:
diff changeset
1249 * trans-array.c (trans_array_constructor): Create the temporary from
kono
parents:
diff changeset
1250 class' inner type, i.e., the derived type.
kono
parents:
diff changeset
1251 (build_class_array_ref): Add support for class array's storage of the
kono
parents:
diff changeset
1252 class object or the array descriptor in the decl saved descriptor.
kono
parents:
diff changeset
1253 (gfc_conv_expr_descriptor): When creating temporaries for class objects
kono
parents:
diff changeset
1254 add the class object's handle into the decl saved descriptor.
kono
parents:
diff changeset
1255 (structure_alloc_comps): Use the common way to get the _data component.
kono
parents:
diff changeset
1256 (gfc_is_reallocatable_lhs): Add notion of allocatable class objects.
kono
parents:
diff changeset
1257 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Remove the only ref
kono
parents:
diff changeset
1258 only when the expression's type is BT_CLASS.
kono
parents:
diff changeset
1259 (gfc_trans_class_init_assign): Correctly handle class arrays.
kono
parents:
diff changeset
1260 (gfc_trans_class_assign): Joined into gfc_trans_assignment_1.
kono
parents:
diff changeset
1261 (gfc_conv_procedure_call): Support for class types as arguments.
kono
parents:
diff changeset
1262 (trans_get_upoly_len): For unlimited polymorphics retrieve the _len
kono
parents:
diff changeset
1263 component's tree.
kono
parents:
diff changeset
1264 (trans_class_vptr_len_assignment): Catch all ways to assign the _vptr
kono
parents:
diff changeset
1265 and _len components of a class object correctly.
kono
parents:
diff changeset
1266 (pointer_assignment_is_proc_pointer): Identify assignments of
kono
parents:
diff changeset
1267 procedure pointers.
kono
parents:
diff changeset
1268 (gfc_trans_pointer_assignment): Enhance support for class object pointer
kono
parents:
diff changeset
1269 assignments.
kono
parents:
diff changeset
1270 (gfc_trans_scalar_assign): Removed assert.
kono
parents:
diff changeset
1271 (trans_class_assignment): Assign to a class object.
kono
parents:
diff changeset
1272 (gfc_trans_assignment_1): Treat class objects correctly.
kono
parents:
diff changeset
1273 (gfc_trans_assignment): Propagate flags to trans_assignment_1.
kono
parents:
diff changeset
1274 * trans-stmt.c (gfc_trans_allocate): Use gfc_trans_assignment now
kono
parents:
diff changeset
1275 instead of copy_class_to_class.
kono
parents:
diff changeset
1276 * trans-stmt.h: Function prototype removed.
kono
parents:
diff changeset
1277 * trans.c (trans_code): Less special casing for class objects.
kono
parents:
diff changeset
1278 * trans.h: Added flags to gfc_trans_assignment () prototype.
kono
parents:
diff changeset
1279
kono
parents:
diff changeset
1280 2016-10-21 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1281
kono
parents:
diff changeset
1282 PR fortran/69566
kono
parents:
diff changeset
1283 * resolve.c (fixup_array_ref): New function.
kono
parents:
diff changeset
1284 (resolve_select_type): Gather up the rank and array reference,
kono
parents:
diff changeset
1285 if any, from the selector. Fix up the 'associate name' and the
kono
parents:
diff changeset
1286 'associate entities' as necessary.
kono
parents:
diff changeset
1287 * trans-expr.c (gfc_conv_class_to_class): If the symbol backend
kono
parents:
diff changeset
1288 decl is a FUNCTION_DECL, use the 'fake_result_decl' instead.
kono
parents:
diff changeset
1289
kono
parents:
diff changeset
1290 2016-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1291
kono
parents:
diff changeset
1292 * array.c (gfc_match_array_constructor): Remove set, but unused
kono
parents:
diff changeset
1293 variable.
kono
parents:
diff changeset
1294
kono
parents:
diff changeset
1295 2016-10-20 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1296
kono
parents:
diff changeset
1297 * class.c (gfc_build_class_symbol): Set the kind of _len to
kono
parents:
diff changeset
1298 gfc_charlen_int_kind to catch changes of the charlen kind.
kono
parents:
diff changeset
1299
kono
parents:
diff changeset
1300 2016-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1301
kono
parents:
diff changeset
1302 PR fortran/77978
kono
parents:
diff changeset
1303 * match.c (gfc_match_stopcode): Fix error reporting for several
kono
parents:
diff changeset
1304 deficiencies in matching stop-codes.
kono
parents:
diff changeset
1305
kono
parents:
diff changeset
1306 2016-10-17 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1307
kono
parents:
diff changeset
1308 PR fortran/61420
kono
parents:
diff changeset
1309 PR fortran/78013
kono
parents:
diff changeset
1310 * resolve.c (resolve_variable): Obtain the typespec for a
kono
parents:
diff changeset
1311 variable expression, when the variable is a function result
kono
parents:
diff changeset
1312 that is a procedure pointer.
kono
parents:
diff changeset
1313
kono
parents:
diff changeset
1314 2016-10-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1315
kono
parents:
diff changeset
1316 PR fortran/48298
kono
parents:
diff changeset
1317 * trans-io.c (transfer_expr): Ignore dtio procedures for inquire
kono
parents:
diff changeset
1318 with iolength.
kono
parents:
diff changeset
1319
kono
parents:
diff changeset
1320 2016-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1321
kono
parents:
diff changeset
1322 PR fortran/77972
kono
parents:
diff changeset
1323 * scanner.c (gfc_next_char_literal): If nextc is null do not
kono
parents:
diff changeset
1324 decrement the pointer and call the diagnostics.
kono
parents:
diff changeset
1325
kono
parents:
diff changeset
1326 2016-10-14 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1327
kono
parents:
diff changeset
1328 * resolve.c (resolve_symbol): Add unimplemented message for
kono
parents:
diff changeset
1329 polymorphic types with allocatable/pointer components and coarray=lib.
kono
parents:
diff changeset
1330
kono
parents:
diff changeset
1331 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
kono
parents:
diff changeset
1332
kono
parents:
diff changeset
1333 * trans-intrinsic.c: Include memmodel.h.
kono
parents:
diff changeset
1334
kono
parents:
diff changeset
1335 2016-10-13 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1336
kono
parents:
diff changeset
1337 PR fortran/72832
kono
parents:
diff changeset
1338 * trans-expr.c (gfc_copy_class_to_class): Add generation of
kono
parents:
diff changeset
1339 runtime array bounds check.
kono
parents:
diff changeset
1340 * trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to
kono
parents:
diff changeset
1341 get the descriptor of a function returning a class object.
kono
parents:
diff changeset
1342 * trans-stmt.c (gfc_trans_allocate): Use the array spec on the
kono
parents:
diff changeset
1343 array to allocate instead of the array spec from source=.
kono
parents:
diff changeset
1344
kono
parents:
diff changeset
1345 2016-10-12 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1346
kono
parents:
diff changeset
1347 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Fixed style.
kono
parents:
diff changeset
1348 (gfc_trans_class_init_assign): Same.
kono
parents:
diff changeset
1349 (gfc_conv_procedure_call): Same.
kono
parents:
diff changeset
1350 (gfc_trans_assignment_1): Same.
kono
parents:
diff changeset
1351 * trans-stmt.c (gfc_trans_allocate): Same.
kono
parents:
diff changeset
1352
kono
parents:
diff changeset
1353 2016-10-11 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1354
kono
parents:
diff changeset
1355 * iresolve.c (is_trig_resolved, resolve_trig_call): Formatting fixes.
kono
parents:
diff changeset
1356 * simplify.c (simplify_trig_call, degrees_f, radians_f,
kono
parents:
diff changeset
1357 gfc_simplify_atrigd, gfc_simplify_cotan): Likewise.
kono
parents:
diff changeset
1358
kono
parents:
diff changeset
1359 2016-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1360
kono
parents:
diff changeset
1361 PR fortran/77942
kono
parents:
diff changeset
1362 * simplify.c (gfc_simplify_cshift): Check for zero.
kono
parents:
diff changeset
1363
kono
parents:
diff changeset
1364 2016-10-11 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1365
kono
parents:
diff changeset
1366 * iresolve.c (get_radians, get_degrees): Fix sloppy commit.
kono
parents:
diff changeset
1367 * simplify.c (degrees_f, radians_f): Ditto.
kono
parents:
diff changeset
1368
kono
parents:
diff changeset
1369 2016-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1370
kono
parents:
diff changeset
1371 * simplify.c (radians_f): Fix mpfr_mod.
kono
parents:
diff changeset
1372 * ireolce.c (get_degrees): Declare tmp.
kono
parents:
diff changeset
1373
kono
parents:
diff changeset
1374 2016-10-11 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1375
kono
parents:
diff changeset
1376 * lang.opt: New flag -fdec-math.
kono
parents:
diff changeset
1377 * options.c (set_dec_flags): Enable with -fdec.
kono
parents:
diff changeset
1378 * invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
kono
parents:
diff changeset
1379 * intrinsics.c (add_functions, do_simplify): New intrinsics
kono
parents:
diff changeset
1380 with -fdec-math.
kono
parents:
diff changeset
1381 * gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
kono
parents:
diff changeset
1382 * gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
kono
parents:
diff changeset
1383 gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
kono
parents:
diff changeset
1384 * iresolve.c (resolve_trig_call, get_degrees, get_radians,
kono
parents:
diff changeset
1385 is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
kono
parents:
diff changeset
1386 gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
kono
parents:
diff changeset
1387 * intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
kono
parents:
diff changeset
1388 gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
kono
parents:
diff changeset
1389 * simplify.c (simplify_trig_call, degrees_f, radians_f,
kono
parents:
diff changeset
1390 gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
kono
parents:
diff changeset
1391 gfc_simplify_atan2d): New functions.
kono
parents:
diff changeset
1392
kono
parents:
diff changeset
1393 2016-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1394
kono
parents:
diff changeset
1395 PR fortran/77915
kono
parents:
diff changeset
1396 * frontend-passes.c (inline_matmul_assign): Return early if
kono
parents:
diff changeset
1397 inside a FORALL statement.
kono
parents:
diff changeset
1398
kono
parents:
diff changeset
1399 2016-10-07 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1400
kono
parents:
diff changeset
1401 * interface.c (compare_components): Check charlen for BT_CHAR.
kono
parents:
diff changeset
1402
kono
parents:
diff changeset
1403 2016-10-07 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1404
kono
parents:
diff changeset
1405 PR fortran/77406
kono
parents:
diff changeset
1406 * interface.c (gfc_compare_interfaces): Fix detection of ambiguous
kono
parents:
diff changeset
1407 interface involving alternate return.
kono
parents:
diff changeset
1408 (check_interface1): Improve error message and loci.
kono
parents:
diff changeset
1409
kono
parents:
diff changeset
1410 2016-10-06 Louis Krupp <louis.krupp@zoho.com>
kono
parents:
diff changeset
1411
kono
parents:
diff changeset
1412 PR fortran/69955
kono
parents:
diff changeset
1413 * trans-array.c (gfc_conv_expr_descriptor): Don't allocate
kono
parents:
diff changeset
1414 components if it's not necessary.
kono
parents:
diff changeset
1415
kono
parents:
diff changeset
1416 2016-10-05 Louis Krupp <louis.krupp@zoho.com>
kono
parents:
diff changeset
1417
kono
parents:
diff changeset
1418 PR fortran/57910
kono
parents:
diff changeset
1419 * trans-expr.c (gfc_add_interface_mapping): Don't try to
kono
parents:
diff changeset
1420 dereference call-by-value scalar argument.
kono
parents:
diff changeset
1421
kono
parents:
diff changeset
1422 2016-10-05 Steven G. Kargl <kargls@gcc.gnu.org>
kono
parents:
diff changeset
1423
kono
parents:
diff changeset
1424 PR fortran/58991
kono
parents:
diff changeset
1425 PR fortran/58992
kono
parents:
diff changeset
1426 * resolve.c (resolve_assoc_var): Fix CHARACTER type-spec for a
kono
parents:
diff changeset
1427 selector in ASSOCIATE.
kono
parents:
diff changeset
1428 (resolve_fl_variable): Skip checks for an ASSOCIATE variable.
kono
parents:
diff changeset
1429
kono
parents:
diff changeset
1430 2016-10-05 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1431
kono
parents:
diff changeset
1432 * interface.c (gfc_compare_types): Don't compare BT_UNION components
kono
parents:
diff changeset
1433 until we know they're both UNIONs.
kono
parents:
diff changeset
1434 * interface.c (gfc_compare_union_types): Guard against empty
kono
parents:
diff changeset
1435 components.
kono
parents:
diff changeset
1436
kono
parents:
diff changeset
1437 2016-10-05 Louis Krupp <louis.krupp@zoho.com>
kono
parents:
diff changeset
1438
kono
parents:
diff changeset
1439 PR fortran/67524
kono
parents:
diff changeset
1440 * resolve.c (resolve_symbol): Don't apply default type rules to
kono
parents:
diff changeset
1441 mixed-entry master created for function entry points.
kono
parents:
diff changeset
1442
kono
parents:
diff changeset
1443 2016-09-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1444
kono
parents:
diff changeset
1445 PR fortran/66643
kono
parents:
diff changeset
1446 * io.c (match_dt_unit): Peek check for missing format.
kono
parents:
diff changeset
1447
kono
parents:
diff changeset
1448 2016-09-30 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1449
kono
parents:
diff changeset
1450 PR fortran/77764
kono
parents:
diff changeset
1451 * interface.c (gfc_compare_union_types): Null-guard map components.
kono
parents:
diff changeset
1452
kono
parents:
diff changeset
1453 2016-09-30 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1454
kono
parents:
diff changeset
1455 PR fortran/77782
kono
parents:
diff changeset
1456 * interface.c (gfc_compare_derived_types): Use gfc_compare_union_types
kono
parents:
diff changeset
1457 to compare union types.
kono
parents:
diff changeset
1458
kono
parents:
diff changeset
1459 2016-09-30 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1460
kono
parents:
diff changeset
1461 * trans-array.c (gfc_array_allocate): Use the token from coarray's
kono
parents:
diff changeset
1462 .token member.
kono
parents:
diff changeset
1463 * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Only generate
kono
parents:
diff changeset
1464 caf-reference chains from the first coarray references on.
kono
parents:
diff changeset
1465 * trans-types.c (gfc_get_derived_type): Switch on mandatory .token
kono
parents:
diff changeset
1466 member generation for allocatable arrays in coarrays in derived types.
kono
parents:
diff changeset
1467
kono
parents:
diff changeset
1468 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
kono
parents:
diff changeset
1469
kono
parents:
diff changeset
1470 * options.c (gfc_post_options): Remove special case for
kono
parents:
diff changeset
1471 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
kono
parents:
diff changeset
1472
kono
parents:
diff changeset
1473 2016-09-27 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1474
kono
parents:
diff changeset
1475 * dependency.c (gfc_dep_compare_expr): Remove break after return.
kono
parents:
diff changeset
1476 * frontend-passes.c (optimize_op): Likewise.
kono
parents:
diff changeset
1477 * interface.c (gfc_current_interface_head): Likewise.
kono
parents:
diff changeset
1478 * symbol.c (check_conflict): Likewise.
kono
parents:
diff changeset
1479 * trans-intrinsic.c (build_fix_expr): Likewise.
kono
parents:
diff changeset
1480
kono
parents:
diff changeset
1481 PR fortran/77666
kono
parents:
diff changeset
1482 * trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
kono
parents:
diff changeset
1483 references to allocatable arrays.
kono
parents:
diff changeset
1484
kono
parents:
diff changeset
1485 2016-09-26 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1486
kono
parents:
diff changeset
1487 PR fortran/77420
kono
parents:
diff changeset
1488 * trans-common.c: Handle array elements in equivalence when
kono
parents:
diff changeset
1489 the lower and upper bounds of array spec are NULL.
kono
parents:
diff changeset
1490
kono
parents:
diff changeset
1491 2016-09-26 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1492
kono
parents:
diff changeset
1493 PR fortran/48298
kono
parents:
diff changeset
1494 * interface.c (gfc_find_specific_dtio_proc) : Return NULL if
kono
parents:
diff changeset
1495 the derived type is broken, as indicated by a flavor other than
kono
parents:
diff changeset
1496 FL_DERIVED.
kono
parents:
diff changeset
1497
kono
parents:
diff changeset
1498 2016-09-26 Marek Polacek <polacek@redhat.com>
kono
parents:
diff changeset
1499
kono
parents:
diff changeset
1500 PR c/7652
kono
parents:
diff changeset
1501 * arith.c (eval_intrinsic): Add gcc_fallthrough.
kono
parents:
diff changeset
1502 * frontend-passes.c (optimize_op): Likewise.
kono
parents:
diff changeset
1503 (gfc_expr_walker): Likewise.
kono
parents:
diff changeset
1504 * parse.c (next_fixed): Likewise.
kono
parents:
diff changeset
1505 * primary.c (match_variable): Likewise.
kono
parents:
diff changeset
1506 * trans-array.c: Likewise.
kono
parents:
diff changeset
1507 * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
kono
parents:
diff changeset
1508 * trans-io.c (transfer_expr): Likewise.
kono
parents:
diff changeset
1509
kono
parents:
diff changeset
1510 2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1511
kono
parents:
diff changeset
1512 PR fortran/77429
kono
parents:
diff changeset
1513 * dependency.c (gfc_check_dependency): Convert gcc_assert() to
kono
parents:
diff changeset
1514 a conditional and possible call to gfc_internal_error().
kono
parents:
diff changeset
1515
kono
parents:
diff changeset
1516 2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1517
kono
parents:
diff changeset
1518 PR fortran/77694
kono
parents:
diff changeset
1519 * frontend-passes.c (optimize_binop_array_assignment): Check pointer
kono
parents:
diff changeset
1520 for NULL.
kono
parents:
diff changeset
1521
kono
parents:
diff changeset
1522 2016-09-23 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1523
kono
parents:
diff changeset
1524 * lang.opt, invoke.texi, gfortran.texi: New flag -fdec-static.
kono
parents:
diff changeset
1525 * options.c (set_dec_flags): Set -fdec-static with -fdec.
kono
parents:
diff changeset
1526 * gfortran.h (symbol_attribute): New attribute automatic.
kono
parents:
diff changeset
1527 * gfortran.h (gfc_add_automatic): New prototype.
kono
parents:
diff changeset
1528 * match.h (gfc_match_automatic, gfc_match_static): New functions.
kono
parents:
diff changeset
1529 * decl.c (gfc_match_automatic, gfc_match_static): Ditto.
kono
parents:
diff changeset
1530 * symbol.c (gfc_add_automatic): Ditto.
kono
parents:
diff changeset
1531 * decl.c (match_attr_spec): Match AUTOMATIC and STATIC decls.
kono
parents:
diff changeset
1532 * parse.c (decode_specification_statement, decode_statement): Ditto.
kono
parents:
diff changeset
1533 * resolve.c (apply_default_init_local, resolve_fl_variable_derived,
kono
parents:
diff changeset
1534 resolve_symbol): Support for automatic attribute.
kono
parents:
diff changeset
1535 * symbol.c (check_conflict, gfc_copy_attr, gfc_is_var_automatic):
kono
parents:
diff changeset
1536 Ditto.
kono
parents:
diff changeset
1537 * trans-decl.c (gfc_finish_var_decl): Ditto.
kono
parents:
diff changeset
1538
kono
parents:
diff changeset
1539 2016-09-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1540
kono
parents:
diff changeset
1541 PR fortran/48298
kono
parents:
diff changeset
1542 * gfortran.h (gfc_dt): Add *udtio.
kono
parents:
diff changeset
1543 * ioparm.def: Add bit IOPARM_dt_f2003 to align with library use of bit
kono
parents:
diff changeset
1544 25. Add IOPARM_dt_dtio bit to common flags.
kono
parents:
diff changeset
1545 * resolve.c (resolve_transfer): Set dt->udtio to expression.
kono
parents:
diff changeset
1546 * io.c (gfc_match_inquire): Adjust error message for internal
kono
parents:
diff changeset
1547 unit KIND.
kono
parents:
diff changeset
1548 * libgfortran.h: Adjust defines for GFC_INTERNAL_UNIT4,
kono
parents:
diff changeset
1549 GFC_INTERNAL_UNIT, and GFC_INVALID_UNIT.
kono
parents:
diff changeset
1550 * trans-io.c (build_dt): Set common_unit to reflect the KIND of
kono
parents:
diff changeset
1551 the internal unit. Set mask bit for presence of dt->udtio.
kono
parents:
diff changeset
1552
kono
parents:
diff changeset
1553 2016-09-22 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1554
kono
parents:
diff changeset
1555 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Use the old caf-
kono
parents:
diff changeset
1556 interface where possible.
kono
parents:
diff changeset
1557
kono
parents:
diff changeset
1558 2016-09-22 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1559
kono
parents:
diff changeset
1560 * interface.c (check_dtio_interface1): Introduce errors for
kono
parents:
diff changeset
1561 alternate returns and incorrect numbers of arguments.
kono
parents:
diff changeset
1562 (gfc_find_specific_dtio_proc): Return cleanly if the derived
kono
parents:
diff changeset
1563 type either doesn't exist or has no namespace.
kono
parents:
diff changeset
1564
kono
parents:
diff changeset
1565 2016-09-21 Louis Krupp <louis.krupp@zoho.com>
kono
parents:
diff changeset
1566
kono
parents:
diff changeset
1567 PR fortran/66107
kono
parents:
diff changeset
1568 * decl.c (add_init_expr_to_sym): Catch variable character length
kono
parents:
diff changeset
1569 in parameter array.
kono
parents:
diff changeset
1570
kono
parents:
diff changeset
1571 2016-09-21 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1572
kono
parents:
diff changeset
1573 PR fortran/77657
kono
parents:
diff changeset
1574
kono
parents:
diff changeset
1575 * interface.c (gfc_find_specific_dtio_proc): Borrow trick from
kono
parents:
diff changeset
1576 resolve_typebound_generic_call to find dtio procedures that
kono
parents:
diff changeset
1577 over-ride those in the declared type.
kono
parents:
diff changeset
1578
kono
parents:
diff changeset
1579 2016-09-20 Marek Polacek <polacek@redhat.com>
kono
parents:
diff changeset
1580
kono
parents:
diff changeset
1581 * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through
kono
parents:
diff changeset
1582 comment.
kono
parents:
diff changeset
1583
kono
parents:
diff changeset
1584 2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1585
kono
parents:
diff changeset
1586 PR fortran/71952
kono
parents:
diff changeset
1587 * expr.c (gfc_check_assign): Added flag to control whether datatype
kono
parents:
diff changeset
1588 conversion is allowed.
kono
parents:
diff changeset
1589 * gfortran.h: Added caf-token-tree to gfc_component. Changed
kono
parents:
diff changeset
1590 prototypes mostly to add whether datatype conversion is allowed.
kono
parents:
diff changeset
1591 * gfortran.texi: Added documentation for the caf_reference_t and the
kono
parents:
diff changeset
1592 caf_*_by_ref function.
kono
parents:
diff changeset
1593 * primary.c (caf_variable_attr): Similar to gfc_variable_attr but
kono
parents:
diff changeset
1594 focused on the needs of coarrays.
kono
parents:
diff changeset
1595 (gfc_caf_attr): Same.
kono
parents:
diff changeset
1596 * resolve.c (resolve_ordinary_assign): Set the conversion allowed
kono
parents:
diff changeset
1597 flag when not in a coarray.
kono
parents:
diff changeset
1598 * trans-array.c (gfc_array_init_size): Moved setting of array
kono
parents:
diff changeset
1599 descriptor's datatype before the alloc, because caf_register needs it.
kono
parents:
diff changeset
1600 (gfc_array_allocate): Changed notion of whether an array is a coarray.
kono
parents:
diff changeset
1601 (gfc_array_deallocate): Same.
kono
parents:
diff changeset
1602 (gfc_alloc_allocatable_for_assignment): Added setting of coarray's
kono
parents:
diff changeset
1603 array descriptor datatype before the register. And using deregister/
kono
parents:
diff changeset
1604 register to mimmick a realloc for coarrays.
kono
parents:
diff changeset
1605 * trans-decl.c (gfc_build_builtin_function_decls): Corrected signatures
kono
parents:
diff changeset
1606 of old caf-functions and added signature definitions of the _by_ref
kono
parents:
diff changeset
1607 ones.
kono
parents:
diff changeset
1608 (generate_coarray_sym_init): Adapted to new caf_register signature.
kono
parents:
diff changeset
1609 * trans-expr.c (gfc_conv_scalar_to_descriptor): Make sure a constant
kono
parents:
diff changeset
1610 is translated to an lvalue expression before use in an array
kono
parents:
diff changeset
1611 descriptor.
kono
parents:
diff changeset
1612 (gfc_get_ultimate_alloc_ptr_comps_caf_token): New function. Get the
kono
parents:
diff changeset
1613 last allocatable component's coarray token.
kono
parents:
diff changeset
1614 (gfc_get_tree_for_caf_expr): For top-level object get the coarray
kono
parents:
diff changeset
1615 token and check for unsupported features.
kono
parents:
diff changeset
1616 (gfc_get_caf_token_offset): Getting the offset might procude new
kono
parents:
diff changeset
1617 statements, which now are stored in the pre and post of the current se.
kono
parents:
diff changeset
1618 (gfc_caf_get_image_index): For this image return a call to
kono
parents:
diff changeset
1619 caf_this_image.
kono
parents:
diff changeset
1620 (expr_may_alias_variables): Check that the result is set for testing
kono
parents:
diff changeset
1621 its properties.
kono
parents:
diff changeset
1622 (alloc_scalar_allocatable_for_assignment): Added auto allocation of
kono
parents:
diff changeset
1623 coarray components.
kono
parents:
diff changeset
1624 (gfc_trans_assignment_1): Rewrite an assign to a coarray object to
kono
parents:
diff changeset
1625 be a sendget.
kono
parents:
diff changeset
1626 * trans-intrinsic.c (conv_caf_vector_subscript_elem): Corrected
kono
parents:
diff changeset
1627 wrong comment.
kono
parents:
diff changeset
1628 (compute_component_offset): Compute the correct offset a structure
kono
parents:
diff changeset
1629 member.
kono
parents:
diff changeset
1630 (conv_expr_ref_to_caf_ref): Convert to a chain of refs into
kono
parents:
diff changeset
1631 caf_references.
kono
parents:
diff changeset
1632 (gfc_conv_intrinsic_caf_get): Call caf_get_by_ref instead of caf_get.
kono
parents:
diff changeset
1633 (conv_caf_send): Call caf_*_by_ref for coarrays that need
kono
parents:
diff changeset
1634 reallocation.
kono
parents:
diff changeset
1635 (gfc_conv_intrinsic_function): Adapted to new signuature of the caf
kono
parents:
diff changeset
1636 drivers.
kono
parents:
diff changeset
1637 (conv_intrinsic_atomic_op): Add pre and post statements correctly.
kono
parents:
diff changeset
1638 (conv_intrinsic_atomic_ref): Same.
kono
parents:
diff changeset
1639 (conv_intrinsic_atomic_cas): Same.
kono
parents:
diff changeset
1640 (conv_intrinsic_event_query): Same.
kono
parents:
diff changeset
1641 * trans-stmt.c (gfc_trans_lock_unlock): Same.
kono
parents:
diff changeset
1642 (gfc_trans_event_post_wait): Same.
kono
parents:
diff changeset
1643 (gfc_trans_allocate): Support allocation of allocatable coarrays.
kono
parents:
diff changeset
1644 (gfc_trans_deallocate): And there deallocation.
kono
parents:
diff changeset
1645 * trans-types.c (gfc_typenode_for_spec): Added flag to control whether
kono
parents:
diff changeset
1646 a component is part of coarray. When so, then add space to store a
kono
parents:
diff changeset
1647 coarray token.
kono
parents:
diff changeset
1648 (gfc_build_array_type): Same.
kono
parents:
diff changeset
1649 (gfc_get_array_descriptor_base): Same.
kono
parents:
diff changeset
1650 (gfc_get_array_type_bounds): Same.
kono
parents:
diff changeset
1651 (gfc_sym_type): Same.
kono
parents:
diff changeset
1652 (gfc_get_derived_type): Same.
kono
parents:
diff changeset
1653 (gfc_get_caf_reference_type): Declare the caf_reference_type.
kono
parents:
diff changeset
1654 * trans-types.h: Prototype changes only.
kono
parents:
diff changeset
1655 * trans.c (gfc_allocate_using_lib): Use the updated caf_register
kono
parents:
diff changeset
1656 signature.
kono
parents:
diff changeset
1657 (gfc_allocate_allocatable): Same.
kono
parents:
diff changeset
1658 (gfc_deallocate_with_status): Same.
kono
parents:
diff changeset
1659 * trans.h: Defined the runtime types for caf_reference_t and the enums.
kono
parents:
diff changeset
1660
kono
parents:
diff changeset
1661 2016-09-19 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1662
kono
parents:
diff changeset
1663 PR fortran/77584
kono
parents:
diff changeset
1664 * decl.c (match_record_decl, gfc_match_decl_type_spec): Fixes to
kono
parents:
diff changeset
1665 handling of structure/record from declaration-type-spec.
kono
parents:
diff changeset
1666
kono
parents:
diff changeset
1667 2016_09_17 Louis Krupp <louis.krupp@zoho.com>
kono
parents:
diff changeset
1668
kono
parents:
diff changeset
1669 PR fortran/68078
kono
parents:
diff changeset
1670 * resolve.c (resolve_allocate_expr): Check that derived type
kono
parents:
diff changeset
1671 pointer, object or array has been successfully allocated before
kono
parents:
diff changeset
1672 initializing.
kono
parents:
diff changeset
1673
kono
parents:
diff changeset
1674 2016-09-16 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1675
kono
parents:
diff changeset
1676 PR fortran/77612
kono
parents:
diff changeset
1677 * decl.c (char_len_param_value): Check parent namespace for
kono
parents:
diff changeset
1678 seen_implicit_none.
kono
parents:
diff changeset
1679
kono
parents:
diff changeset
1680 2016-09-15 Louis Krupp <louis.krupp@zoho.com>
kono
parents:
diff changeset
1681
kono
parents:
diff changeset
1682 PR fortran/69963
kono
parents:
diff changeset
1683 * parse.c (reject_statement): Clear charlen pointers in implicit
kono
parents:
diff changeset
1684 character typespecs before those charlen structures are freed.
kono
parents:
diff changeset
1685
kono
parents:
diff changeset
1686 2016-09-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
kono
parents:
diff changeset
1687
kono
parents:
diff changeset
1688 * simplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.
kono
parents:
diff changeset
1689
kono
parents:
diff changeset
1690 2016-09-13 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1691
kono
parents:
diff changeset
1692 PR fortran/77420
kono
parents:
diff changeset
1693 * module.c (load_equiv): Revert revision 240063.
kono
parents:
diff changeset
1694
kono
parents:
diff changeset
1695 2016-09-10 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1696 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1697
kono
parents:
diff changeset
1698 PR fortran/77532
kono
parents:
diff changeset
1699 * interface.c (check_dtio_arg_TKR_intent): Return after error.
kono
parents:
diff changeset
1700 (check_dtio_interface1): Remove asserts, test for NULL and return
kono
parents:
diff changeset
1701 if found.
kono
parents:
diff changeset
1702
kono
parents:
diff changeset
1703 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1704
kono
parents:
diff changeset
1705 PR fortran/77420
kono
parents:
diff changeset
1706 * module.c (load_equiv): If the current namespace has a list of
kono
parents:
diff changeset
1707 equivalence statements, initialize duplicate to false and then
kono
parents:
diff changeset
1708 look for duplicates; otherwise, initialize it to true.
kono
parents:
diff changeset
1709
kono
parents:
diff changeset
1710 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1711
kono
parents:
diff changeset
1712 PR fortran/77506
kono
parents:
diff changeset
1713 * array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot
kono
parents:
diff changeset
1714 appear in an array constructor.
kono
parents:
diff changeset
1715
kono
parents:
diff changeset
1716 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1717
kono
parents:
diff changeset
1718 PR fortran/77507
kono
parents:
diff changeset
1719 * intrinsic.c (add_functions): Use correct keyword.
kono
parents:
diff changeset
1720
kono
parents:
diff changeset
1721 2016-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1722
kono
parents:
diff changeset
1723 PR fortran/69514
kono
parents:
diff changeset
1724 * array.c (gfc_match_array_constructor): If type-spec is present,
kono
parents:
diff changeset
1725 walk the array constructor performing possible conversions for
kono
parents:
diff changeset
1726 numeric types.
kono
parents:
diff changeset
1727
kono
parents:
diff changeset
1728 2016-09-08 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1729
kono
parents:
diff changeset
1730 PR fortran/77500
kono
parents:
diff changeset
1731 * trans-openmp.c (gfc_trans_omp_atomic): For atomic write or
kono
parents:
diff changeset
1732 swap, don't try to look through GFC_ISYM_CONVERSION. In other cases,
kono
parents:
diff changeset
1733 check that value.function.isym is non-NULL before dereferencing it.
kono
parents:
diff changeset
1734
kono
parents:
diff changeset
1735 2016-09-04 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1736
kono
parents:
diff changeset
1737 PR fortran/77391
kono
parents:
diff changeset
1738 * resolve.c (deferred_requirements): New function to check F2008:C402.
kono
parents:
diff changeset
1739 (resolve_fl_variable,resolve_fl_parameter): Use it.
kono
parents:
diff changeset
1740
kono
parents:
diff changeset
1741 2016-09-04 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1742
kono
parents:
diff changeset
1743 PR fortran/77460
kono
parents:
diff changeset
1744 * simplify.c (simplify_transformation_to_scalar): On error, result
kono
parents:
diff changeset
1745 may be NULL, simply return.
kono
parents:
diff changeset
1746
kono
parents:
diff changeset
1747 2016-08-31 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1748
kono
parents:
diff changeset
1749 PR fortran/77352
kono
parents:
diff changeset
1750 * trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a
kono
parents:
diff changeset
1751 BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns.
kono
parents:
diff changeset
1752
kono
parents:
diff changeset
1753 PR fortran/77374
kono
parents:
diff changeset
1754 * parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic
kono
parents:
diff changeset
1755 to cp->block->ext.omp_atomic.
kono
parents:
diff changeset
1756 * resolve.c (gfc_resolve_blocks): Assert block with one or two
kono
parents:
diff changeset
1757 EXEC_ASSIGNs for EXEC_*_ATOMIC.
kono
parents:
diff changeset
1758 * openmp.c (resolve_omp_atomic): Don't assert one or two
kono
parents:
diff changeset
1759 EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise
kono
parents:
diff changeset
1760 error unexpected statements.
kono
parents:
diff changeset
1761
kono
parents:
diff changeset
1762 2016-08-31 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1763 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
1764
kono
parents:
diff changeset
1765 PR fortran/48298
kono
parents:
diff changeset
1766 * decl.c (access_attr_decl): Include case INTERFACE_DTIO as
kono
parents:
diff changeset
1767 appropriate.
kono
parents:
diff changeset
1768 * gfortran.h : Add INTRINSIC_FORMATTED and
kono
parents:
diff changeset
1769 INTRINSIC_UNFORMATTED to gfc_intrinsic_op. Add INTERFACE_DTIO
kono
parents:
diff changeset
1770 to interface type. Add new enum 'dtio_codes'. Add bitfield
kono
parents:
diff changeset
1771 'has_dtio_procs' to symbol_attr. Add prototypes
kono
parents:
diff changeset
1772 'gfc_check_dtio_interfaces' and 'gfc_find_specific_dtio_proc'.
kono
parents:
diff changeset
1773 * interface.c (dtio_op): New function.
kono
parents:
diff changeset
1774 (gfc_match_generic_spec): Match generic DTIO interfaces.
kono
parents:
diff changeset
1775 (gfc_match_interface): Treat DTIO interfaces in the same way as
kono
parents:
diff changeset
1776 (gfc_current_interface_head): Add INTERFACE_DTIO appropriately.
kono
parents:
diff changeset
1777 (check_dtio_arg_TKR_intent): New function.
kono
parents:
diff changeset
1778 (check_dtio_interface1): New function.
kono
parents:
diff changeset
1779 (gfc_check_dtio_interfaces): New function.
kono
parents:
diff changeset
1780 (gfc_find_specific_dtio_proc): New function.
kono
parents:
diff changeset
1781 * io.c : Add FMT_DT to format_token.
kono
parents:
diff changeset
1782 (format_lex): Handle DTIO formatting.
kono
parents:
diff changeset
1783 * match.c (gfc_op2string): Add DTIO operators.
kono
parents:
diff changeset
1784 * resolve.c (derived_inaccessible): Ignore pointer components
kono
parents:
diff changeset
1785 to enclosing derived type.
kono
parents:
diff changeset
1786 (resolve_transfer): Resolve transfers that involve DTIO.
kono
parents:
diff changeset
1787 procedures. Find the specific subroutine for the transfer and
kono
parents:
diff changeset
1788 use its existence to over-ride some of the constraints on
kono
parents:
diff changeset
1789 derived types. If the transfer is recursive, require that the
kono
parents:
diff changeset
1790 subroutine be so qualified.
kono
parents:
diff changeset
1791 (dtio_procs_present): New function.
kono
parents:
diff changeset
1792 (resolve_fl_namelist): Remove inhibition of polymorphic objects
kono
parents:
diff changeset
1793 in namelists if DTIO read and write subroutines exist. Likewise
kono
parents:
diff changeset
1794 for derived types.
kono
parents:
diff changeset
1795 (resolve_types): Invoke 'gfc_verify_dtio_procedures'.
kono
parents:
diff changeset
1796 * symbol.c : Set 'dtio_procs' using 'minit'.
kono
parents:
diff changeset
1797 * trans-decl.c (gfc_finish_var_decl): If a derived-type/class
kono
parents:
diff changeset
1798 object is associated with DTIO procedures, make it TREE_STATIC.
kono
parents:
diff changeset
1799 * trans-expr.c (gfc_get_vptr_from_expr): If the expression
kono
parents:
diff changeset
1800 drills down to a PARM_DECL, extract the vptr correctly.
kono
parents:
diff changeset
1801 (gfc_conv_derived_to_class): Check 'info' in the test for
kono
parents:
diff changeset
1802 'useflags'. If the se expression exists and is a pointer, use
kono
parents:
diff changeset
1803 it as the class _data.
kono
parents:
diff changeset
1804 * trans-io.c : Add IOCALL_X_DERIVED to iocall and the function
kono
parents:
diff changeset
1805 prototype. Likewise for IOCALL_SET_NML_DTIO_VAL.
kono
parents:
diff changeset
1806 (set_parameter_tree): Renamed from 'set_parameter_const', now
kono
parents:
diff changeset
1807 returns void and has new tree argument. Calls modified to match
kono
parents:
diff changeset
1808 new interface.
kono
parents:
diff changeset
1809 (transfer_namelist_element): Transfer DTIO procedure pointer
kono
parents:
diff changeset
1810 and vpointer using the new function IOCALL_SET_NML_DTIO_VAL.
kono
parents:
diff changeset
1811 (get_dtio_proc): New function.
kono
parents:
diff changeset
1812 (transfer_expr): Add new argument for the vptr field of class
kono
parents:
diff changeset
1813 objects. Add the code to call the specific DTIO proc, convert
kono
parents:
diff changeset
1814 derived types to class and call IOCALL_X_DERIVED.
kono
parents:
diff changeset
1815 (trans_transfer): Add BT_CLASS to structures for treatment by
kono
parents:
diff changeset
1816 the scalarizer. Obtain the vptr for the dynamic type, both for
kono
parents:
diff changeset
1817 scalar and array transfer.
kono
parents:
diff changeset
1818
kono
parents:
diff changeset
1819 2016-08-30 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1820
kono
parents:
diff changeset
1821 * gfortran.texi: Fix typo in STRUCTURE documentation.
kono
parents:
diff changeset
1822
kono
parents:
diff changeset
1823 2016-08-29 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1824
kono
parents:
diff changeset
1825 Fix, reorganize, and clarify comparisons of anonymous types/components.
kono
parents:
diff changeset
1826
kono
parents:
diff changeset
1827 PR fortran/77327
kono
parents:
diff changeset
1828 * interface.c (is_anonymous_component, is_anonymous_dt): New functions.
kono
parents:
diff changeset
1829 * interface.c (compare_components, gfc_compare_derived_types): Use new
kono
parents:
diff changeset
1830 functions.
kono
parents:
diff changeset
1831
kono
parents:
diff changeset
1832 2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1833
kono
parents:
diff changeset
1834 PR fortran/77380
kono
parents:
diff changeset
1835 * dependency.c (gfc_check_dependency): Do not assert with
kono
parents:
diff changeset
1836 -fcoarray=lib.
kono
parents:
diff changeset
1837
kono
parents:
diff changeset
1838 2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1839
kono
parents:
diff changeset
1840 PR fortran/77372
kono
parents:
diff changeset
1841 simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.
kono
parents:
diff changeset
1842
kono
parents:
diff changeset
1843 2016-08-25 Steven g. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1844
kono
parents:
diff changeset
1845 PR fortran/77351
kono
parents:
diff changeset
1846 * frontend-passes.c (remove_trim,combine_array_constructor): Check for
kono
parents:
diff changeset
1847 NULL pointer.
kono
parents:
diff changeset
1848
kono
parents:
diff changeset
1849 2016-08-24 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
1850
kono
parents:
diff changeset
1851 PR fortran/77358
kono
parents:
diff changeset
1852 * resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
kono
parents:
diff changeset
1853 for deferred character length module procedures.
kono
parents:
diff changeset
1854
kono
parents:
diff changeset
1855 2016-08-23 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1856
kono
parents:
diff changeset
1857 * decl.c (gfc_match_structure_decl): Make gfc_structure_id static.
kono
parents:
diff changeset
1858
kono
parents:
diff changeset
1859 2016-08-23 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1860
kono
parents:
diff changeset
1861 * interface.c (compare_components): Fix typo in name check conditional.
kono
parents:
diff changeset
1862
kono
parents:
diff changeset
1863 2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1864 Bud Davis <jmdavis@link.com>
kono
parents:
diff changeset
1865
kono
parents:
diff changeset
1866 PR fortran/60774
kono
parents:
diff changeset
1867 * parse.c (next_free,next_fixed): Issue error for statement label
kono
parents:
diff changeset
1868 without a statement.
kono
parents:
diff changeset
1869
kono
parents:
diff changeset
1870 2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1871
kono
parents:
diff changeset
1872 PR fortran/61318
kono
parents:
diff changeset
1873 * interface.c (compare_parameter): Use better locus for error message.
kono
parents:
diff changeset
1874
kono
parents:
diff changeset
1875 2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
1876
kono
parents:
diff changeset
1877 PR fortran/77260
kono
parents:
diff changeset
1878 * gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning
kono
parents:
diff changeset
1879 for unused variable if symbol is entry point.
kono
parents:
diff changeset
1880
kono
parents:
diff changeset
1881 2016-08-19 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
1882
kono
parents:
diff changeset
1883 PR c/32187
kono
parents:
diff changeset
1884 * trans-types.h (float128_type_node): Rename to
kono
parents:
diff changeset
1885 gfc_float128_type_node.
kono
parents:
diff changeset
1886 (complex_float128_type_node): Rename to
kono
parents:
diff changeset
1887 gfc_complex_float128_type_node.
kono
parents:
diff changeset
1888 * iso-c-binding.def, trans-intrinsic.c, trans-types.c: All users
kono
parents:
diff changeset
1889 changed.
kono
parents:
diff changeset
1890
kono
parents:
diff changeset
1891 2016-08-19 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1892
kono
parents:
diff changeset
1893 PR fortran/71014
kono
parents:
diff changeset
1894 * resolve.c (gfc_resolve): For ns->construct_entities don't save, clear
kono
parents:
diff changeset
1895 and restore omp state around the resolving.
kono
parents:
diff changeset
1896
kono
parents:
diff changeset
1897 PR fortran/69281
kono
parents:
diff changeset
1898 * trans-openmp.c (gfc_trans_omp_parallel, gfc_trans_omp_task,
kono
parents:
diff changeset
1899 gfc_trans_omp_target): Wrap gfc_trans_omp_code result in an extra
kono
parents:
diff changeset
1900 BIND_EXPR with its own forced BLOCK.
kono
parents:
diff changeset
1901
kono
parents:
diff changeset
1902 2016-08-19 Janne Blomqvist <jb@gcc.gnu.org>
kono
parents:
diff changeset
1903
kono
parents:
diff changeset
1904 * intrinsics.texi (RANDOM_NUMBER): Remove reference to
kono
parents:
diff changeset
1905 init_random_seed in example.
kono
parents:
diff changeset
1906 (RANDOM_SEED): Remove warning to not set all seed values to 0.
kono
parents:
diff changeset
1907
kono
parents:
diff changeset
1908 2016-08-18 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1909
kono
parents:
diff changeset
1910 * error.c (gfc_diagnostic_starter): Update for change to
kono
parents:
diff changeset
1911 diagnostic_show_locus.
kono
parents:
diff changeset
1912
kono
parents:
diff changeset
1913 2016-08-17 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1914
kono
parents:
diff changeset
1915 PR fortran/67496
kono
parents:
diff changeset
1916 * trans-array.c (trans_array_constructor): Load
kono
parents:
diff changeset
1917 expr->ts.u.cl->length_from_typespec only if expr->ts.type is
kono
parents:
diff changeset
1918 BT_CHARACTER.
kono
parents:
diff changeset
1919
kono
parents:
diff changeset
1920 2016-08-15 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
1921
kono
parents:
diff changeset
1922 * lang.opt, invoke.texi: New flag -finit-derived.
kono
parents:
diff changeset
1923 * gfortran.h (gfc_build_default_init_expr, gfc_apply_init,
kono
parents:
diff changeset
1924 gfc_generate_initializer): New prototypes.
kono
parents:
diff changeset
1925 * expr.c (gfc_build_default_init_expr, gfc_apply_init,
kono
parents:
diff changeset
1926 component_initializer, gfc_generate_initializer): New functions.
kono
parents:
diff changeset
1927 * expr.c (gfc_default_initializer): Wrap gfc_generate_initializer.
kono
parents:
diff changeset
1928 * decl.c (build_struct): Move common code to gfc_apply_init.
kono
parents:
diff changeset
1929 * resolve.c (can_generate_init): New function.
kono
parents:
diff changeset
1930 * resolve.c (build_default_init_expr): Wrap gfc_build_default_init_expr.
kono
parents:
diff changeset
1931 * resolve.c (apply_default_init, resolve_fl_variable_derived): Use
kono
parents:
diff changeset
1932 gfc_generate_initializer.
kono
parents:
diff changeset
1933 * trans-decl.c (gfc_generate_function_code): Use
kono
parents:
diff changeset
1934 gfc_generate_initializer.
kono
parents:
diff changeset
1935
kono
parents:
diff changeset
1936 2016-08-15 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
1937
kono
parents:
diff changeset
1938 * frontend-passes.c (create_var): Set ts.deferred for
kono
parents:
diff changeset
1939 deferred-length character variables.
kono
parents:
diff changeset
1940 * dump-parse-tree.c (show_typespec): Also dump
kono
parents:
diff changeset
1941 is_c_interop, is_iso_c and deferred flags.
kono
parents:
diff changeset
1942
kono
parents:
diff changeset
1943 2016-08-15 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1944
kono
parents:
diff changeset
1945 PR debug/71906
kono
parents:
diff changeset
1946 * trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
kono
parents:
diff changeset
1947 for decl's character length before gfc_finish_var_decl on the
kono
parents:
diff changeset
1948 decl itself.
kono
parents:
diff changeset
1949
kono
parents:
diff changeset
1950 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
kono
parents:
diff changeset
1951
kono
parents:
diff changeset
1952 PR fortran/70598
kono
parents:
diff changeset
1953 * openmp.c (resolve_omp_clauses): Adjust use_device clause
kono
parents:
diff changeset
1954 handling to only allow pointers and arrays.
kono
parents:
diff changeset
1955
kono
parents:
diff changeset
1956 2016-08-12 Marek Polacek <polacek@redhat.com>
kono
parents:
diff changeset
1957
kono
parents:
diff changeset
1958 PR c/7652
kono
parents:
diff changeset
1959 * decl.c (match_attr_spec): Add FALLTHRU.
kono
parents:
diff changeset
1960 * primary.c (match_arg_list_function): Likewise.
kono
parents:
diff changeset
1961 * resolve.c (resolve_operator): Adjust fall through comment.
kono
parents:
diff changeset
1962 (fixup_charlen): Add FALLTHRU.
kono
parents:
diff changeset
1963 (resolve_allocate_expr): Adjust fall through comment.
kono
parents:
diff changeset
1964 * trans-array.c (gfc_conv_ss_startstride): Add FALLTHRU.
kono
parents:
diff changeset
1965 * trans-intrinsic.c (gfc_conv_intrinsic_len): Adjust fall through
kono
parents:
diff changeset
1966 comment.
kono
parents:
diff changeset
1967
kono
parents:
diff changeset
1968 2016-08-11 Janne Blomqvist <jb@gcc.gnu.org>
kono
parents:
diff changeset
1969
kono
parents:
diff changeset
1970 * check.c (gfc_check_random_seed): Use new seed size in check.
kono
parents:
diff changeset
1971 * intrinsic.texi (RANDOM_NUMBER): Updated documentation.
kono
parents:
diff changeset
1972 (RANDOM_SEED): Likewise.
kono
parents:
diff changeset
1973
kono
parents:
diff changeset
1974 2016-08-08 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1975
kono
parents:
diff changeset
1976 PR fortran/72716
kono
parents:
diff changeset
1977 * openmp.c (gfc_match_omp_declare_simd): Don't stick anything into
kono
parents:
diff changeset
1978 BLOCK DATA ns, it will be rejected later.
kono
parents:
diff changeset
1979
kono
parents:
diff changeset
1980 2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1981
kono
parents:
diff changeset
1982 PR fortran/71936
kono
parents:
diff changeset
1983 * trans-array.c (gfc_array_allocate): When SOURCE= is a function
kono
parents:
diff changeset
1984 stick with the ref of the object to allocate.
kono
parents:
diff changeset
1985
kono
parents:
diff changeset
1986 2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1987
kono
parents:
diff changeset
1988 PR fortran/72698
kono
parents:
diff changeset
1989 * trans-stmt.c (gfc_trans_allocate): Prevent generating code for
kono
parents:
diff changeset
1990 copy of zero sized string and with it an ICE.
kono
parents:
diff changeset
1991
kono
parents:
diff changeset
1992 2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
1993
kono
parents:
diff changeset
1994 PR fortran/70524
kono
parents:
diff changeset
1995 * trans-array.c (gfc_trans_dummy_array_bias): Ensure that the
kono
parents:
diff changeset
1996 location information is correctly set.
kono
parents:
diff changeset
1997 * trans-decl.c (gfc_trans_deferred_vars): Set the locus of the
kono
parents:
diff changeset
1998 current construct early.
kono
parents:
diff changeset
1999
kono
parents:
diff changeset
2000 2016-08-03 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
2001
kono
parents:
diff changeset
2002 * lang.opt: New option -fdec-intrinsic-ints.
kono
parents:
diff changeset
2003 * options.c (set_dec_flags): Enable with -fdec.
kono
parents:
diff changeset
2004 * gfortran.texi, invoke.texi, intrinsics.texi: Update documentation.
kono
parents:
diff changeset
2005 * intrinsic.c (add_function, add_subroutine): New B/I/J/K intrinsic
kono
parents:
diff changeset
2006 variants.
kono
parents:
diff changeset
2007
kono
parents:
diff changeset
2008 2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2009
kono
parents:
diff changeset
2010 PR fortran/41922
kono
parents:
diff changeset
2011 * target-memory.c (expr_to_char): Pass in locus and use it in error
kono
parents:
diff changeset
2012 messages.
kono
parents:
diff changeset
2013 (gfc_merge_initializers): Ditto.
kono
parents:
diff changeset
2014 * target-memory.h: Update prototype for gfc_merge_initializers ().
kono
parents:
diff changeset
2015 * trans-common.c (get_init_field): Use the correct locus.
kono
parents:
diff changeset
2016
kono
parents:
diff changeset
2017 2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2018
kono
parents:
diff changeset
2019 PR fortran/68566
kono
parents:
diff changeset
2020 * check.c (gfc_check_reshape): Check for constant expression.
kono
parents:
diff changeset
2021
kono
parents:
diff changeset
2022 2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2023
kono
parents:
diff changeset
2024 PR fortran/69867
kono
parents:
diff changeset
2025 * decl.c (build_struct): Ensure that pointers point to something.
kono
parents:
diff changeset
2026
kono
parents:
diff changeset
2027 2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2028
kono
parents:
diff changeset
2029 PR fortran/69962
kono
parents:
diff changeset
2030 * decl.c (gfc_set_constant_character_len): if expr is not
kono
parents:
diff changeset
2031 constant issue an error instead of an ICE.
kono
parents:
diff changeset
2032
kono
parents:
diff changeset
2033 2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2034
kono
parents:
diff changeset
2035 PR fortran/70006
kono
parents:
diff changeset
2036 * io.c (gfc_resolve_dt): Use correct locus.
kono
parents:
diff changeset
2037 * resolve.c (resolve_branch): Ditto.
kono
parents:
diff changeset
2038
kono
parents:
diff changeset
2039 2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2040
kono
parents:
diff changeset
2041 PR fortran/71730
kono
parents:
diff changeset
2042 * decl.c (char_len_param_value): Check return value of
kono
parents:
diff changeset
2043 gfc_reduce_init_expr().
kono
parents:
diff changeset
2044
kono
parents:
diff changeset
2045 2016-07-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
kono
parents:
diff changeset
2046
kono
parents:
diff changeset
2047 * trans-array.c (gfc_conv_array_ref): Fix allocation of diagnostic
kono
parents:
diff changeset
2048 message (was too small).
kono
parents:
diff changeset
2049
kono
parents:
diff changeset
2050 2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2051
kono
parents:
diff changeset
2052 PR fortran/71067
kono
parents:
diff changeset
2053 * decl.c (match_data_constant): On error, set 'result' to NULL.
kono
parents:
diff changeset
2054
kono
parents:
diff changeset
2055 2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2056
kono
parents:
diff changeset
2057 PR fortran/71799
kono
parents:
diff changeset
2058 * resolve.c(gfc_resolve_iterator): Failure of type conversion need
kono
parents:
diff changeset
2059 not ICE.
kono
parents:
diff changeset
2060
kono
parents:
diff changeset
2061 2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2062
kono
parents:
diff changeset
2063 PR fortran/71859
kono
parents:
diff changeset
2064 * check.c(numeric_check): Prevent ICE. Issue error for invalid
kono
parents:
diff changeset
2065 subroutine as an actual argument when numeric argument is expected.
kono
parents:
diff changeset
2066
kono
parents:
diff changeset
2067 2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2068 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2069
kono
parents:
diff changeset
2070 PR fortran/71883
kono
parents:
diff changeset
2071 * frontend-passes.c (gfc_run_passes): Bail out if there are any
kono
parents:
diff changeset
2072 errors.
kono
parents:
diff changeset
2073 * error.c (gfc_internal_error): If there are any errors in the
kono
parents:
diff changeset
2074 buffer, exit with EXIT_FAILURE.
kono
parents:
diff changeset
2075
kono
parents:
diff changeset
2076 2016-07-28 Renlin Li <renlin.li@arm.com>
kono
parents:
diff changeset
2077
kono
parents:
diff changeset
2078 Revert
kono
parents:
diff changeset
2079 2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2080
kono
parents:
diff changeset
2081 PR fortran/71902
kono
parents:
diff changeset
2082 * dependency.c (gfc_check_dependency): Use dep_ref. Handle case
kono
parents:
diff changeset
2083 if identical is true and two array element references differ.
kono
parents:
diff changeset
2084 (gfc_dep_resovler): Move most of the code to dep_ref.
kono
parents:
diff changeset
2085 (dep_ref): New function.
kono
parents:
diff changeset
2086 * frontend-passes.c (realloc_string_callback): Name temporary
kono
parents:
diff changeset
2087 variable "realloc_string".
kono
parents:
diff changeset
2088
kono
parents:
diff changeset
2089 2016-07-26 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2090
kono
parents:
diff changeset
2091 PR fortran/71862
kono
parents:
diff changeset
2092 * class.c: Remove assert. Iterate over component only if non-null.
kono
parents:
diff changeset
2093
kono
parents:
diff changeset
2094 2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2095
kono
parents:
diff changeset
2096 PR fortran/71935
kono
parents:
diff changeset
2097 * check.c (is_c_interoperable): Simplify right expression.
kono
parents:
diff changeset
2098
kono
parents:
diff changeset
2099 2016-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2100
kono
parents:
diff changeset
2101 PR fortran/71795
kono
parents:
diff changeset
2102 * frontend-passes.c (combine_array_constructor): Don't
kono
parents:
diff changeset
2103 do anything if the expression is inside an array iterator.
kono
parents:
diff changeset
2104
kono
parents:
diff changeset
2105 2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2106
kono
parents:
diff changeset
2107 * expr.c (gfc_find_stat_co): Fixed whitespaces.
kono
parents:
diff changeset
2108 * gfortran.texi: Fixed typos and reversed meaning of caf_get()'s
kono
parents:
diff changeset
2109 src and dst description.
kono
parents:
diff changeset
2110 * trans-decl.c (gfc_build_builtin_function_decls): Fixed style
kono
parents:
diff changeset
2111 and corrected fnspec for caf functions.
kono
parents:
diff changeset
2112 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fixed style.
kono
parents:
diff changeset
2113 (conv_caf_send): Dito.
kono
parents:
diff changeset
2114
kono
parents:
diff changeset
2115 2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2116
kono
parents:
diff changeset
2117 PR fortran/71902
kono
parents:
diff changeset
2118 * dependency.c (gfc_check_dependency): Use dep_ref. Handle case
kono
parents:
diff changeset
2119 if identical is true and two array element references differ.
kono
parents:
diff changeset
2120 (gfc_dep_resovler): Move most of the code to dep_ref.
kono
parents:
diff changeset
2121 (dep_ref): New function.
kono
parents:
diff changeset
2122 * frontend-passes.c (realloc_string_callback): Name temporary
kono
parents:
diff changeset
2123 variable "realloc_string".
kono
parents:
diff changeset
2124
kono
parents:
diff changeset
2125 2016-07-17 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
2126
kono
parents:
diff changeset
2127 PR fortran/71523
kono
parents:
diff changeset
2128 * trans-decl.c (gfc_finish_var_decl): Replace automatic initializer with
kono
parents:
diff changeset
2129 a static one.
kono
parents:
diff changeset
2130
kono
parents:
diff changeset
2131 2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2132 Marco Restelli <mrestelli@gmail.com>
kono
parents:
diff changeset
2133
kono
parents:
diff changeset
2134 PR fortran/62125
kono
parents:
diff changeset
2135 * symbol.c (select_type_insert_tmp): Recursively call self to take care
kono
parents:
diff changeset
2136 of nested select type.
kono
parents:
diff changeset
2137
kono
parents:
diff changeset
2138 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
2139
kono
parents:
diff changeset
2140 * openmp.c (gfc_match_omp_clauses): Scan for clause vector_length
kono
parents:
diff changeset
2141 before vector.
kono
parents:
diff changeset
2142
kono
parents:
diff changeset
2143 2016-07-15 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2144
kono
parents:
diff changeset
2145 PR fortran/71807
kono
parents:
diff changeset
2146 * trans-expr.c (gfc_trans_subcomponent_assign): Special casing
kono
parents:
diff changeset
2147 when allocatable component is set to null() in initializer.
kono
parents:
diff changeset
2148
kono
parents:
diff changeset
2149 2016-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2150
kono
parents:
diff changeset
2151 PR fortran/29819
kono
parents:
diff changeset
2152 * parse.c (parse_contained): Use proper locus.
kono
parents:
diff changeset
2153
kono
parents:
diff changeset
2154 2016-07-14 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2155
kono
parents:
diff changeset
2156 PR fortran/70842
kono
parents:
diff changeset
2157 * simplify.c (gfc_simplify_len): Only for unlimited polymorphic
kono
parents:
diff changeset
2158 types replace the expression's _data ref with a _len ref.
kono
parents:
diff changeset
2159
kono
parents:
diff changeset
2160 2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2161
kono
parents:
diff changeset
2162 PR fortran/71783
kono
parents:
diff changeset
2163 * frontend-passes.c (create_var): Always allocate a charlen
kono
parents:
diff changeset
2164 for character variables.
kono
parents:
diff changeset
2165
kono
parents:
diff changeset
2166 2016-07-08 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2167
kono
parents:
diff changeset
2168 PR fortran/68426
kono
parents:
diff changeset
2169 * simplify (gfc_simplify_spread): Adjust locus.
kono
parents:
diff changeset
2170
kono
parents:
diff changeset
2171 2016-07-08 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
2172
kono
parents:
diff changeset
2173 * parse.c (matcha): Define.
kono
parents:
diff changeset
2174 (decode_oacc_directive): Add spec_only local var and set it. Use
kono
parents:
diff changeset
2175 matcha to parse acc directives except for routine and declare. Return
kono
parents:
diff changeset
2176 ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be
kono
parents:
diff changeset
2177 matched.
kono
parents:
diff changeset
2178
kono
parents:
diff changeset
2179 2016-07-08 Martin Liska <mliska@suse.cz>
kono
parents:
diff changeset
2180
kono
parents:
diff changeset
2181 * invoke.texi (Wundefined-do-loop): Enhance documentation.
kono
parents:
diff changeset
2182
kono
parents:
diff changeset
2183 2016-07-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2184
kono
parents:
diff changeset
2185 PR fortran/71764
kono
parents:
diff changeset
2186 * trans-expr.c (gfc_trans_structure_assign): Remove assert.
kono
parents:
diff changeset
2187
kono
parents:
diff changeset
2188 2016-07-07 Martin Liska <mliska@suse.cz>
kono
parents:
diff changeset
2189
kono
parents:
diff changeset
2190 * lang.opt (Wundefined-do-loop): New option.
kono
parents:
diff changeset
2191 * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop.
kono
parents:
diff changeset
2192 (gfc_trans_simple_do): Generate a c-style loop.
kono
parents:
diff changeset
2193 (gfc_trans_do): Fix GNU coding style.
kono
parents:
diff changeset
2194 * invoke.texi: Mention the new warning.
kono
parents:
diff changeset
2195
kono
parents:
diff changeset
2196 2016-07-07 Martin Liska <mliska@suse.cz>
kono
parents:
diff changeset
2197
kono
parents:
diff changeset
2198 * trans-stmt.c (gfc_trans_do): Add expect builtin for DO
kono
parents:
diff changeset
2199 loops with step bigger than +-1.
kono
parents:
diff changeset
2200
kono
parents:
diff changeset
2201 2016-07-05 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
kono
parents:
diff changeset
2202
kono
parents:
diff changeset
2203 * array.c (gfc_match_array_ref): Add parsing support for
kono
parents:
diff changeset
2204 STAT= attribute in CAF reference.
kono
parents:
diff changeset
2205 * expr.c (gfc_find_stat_co): New function that returns
kono
parents:
diff changeset
2206 the STAT= assignment.
kono
parents:
diff changeset
2207 * gfortran.h (gfc_array_ref): New member.
kono
parents:
diff changeset
2208 * trans-decl.c (gfc_build_builtin_function_decls):
kono
parents:
diff changeset
2209 new attribute for caf_get and caf_send functions.
kono
parents:
diff changeset
2210 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Passing
kono
parents:
diff changeset
2211 the stat attribute to external function.
kono
parents:
diff changeset
2212 (gfc_conv_intrinsic_caf_send): Ditto.
kono
parents:
diff changeset
2213
kono
parents:
diff changeset
2214 2016-07-05 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2215
kono
parents:
diff changeset
2216 PR fortran/71623
kono
parents:
diff changeset
2217 * trans-stmt.c (gfc_trans_allocate): Add code of pre block of typespec
kono
parents:
diff changeset
2218 in allocate to parent block.
kono
parents:
diff changeset
2219
kono
parents:
diff changeset
2220 2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2221
kono
parents:
diff changeset
2222 PR fortran/66575
kono
parents:
diff changeset
2223 * decl.c (match_procedure_interface): Exit loop if procedure
kono
parents:
diff changeset
2224 interface refers to itself.
kono
parents:
diff changeset
2225
kono
parents:
diff changeset
2226 2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2227 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2228
kono
parents:
diff changeset
2229 PR fortran/35849
kono
parents:
diff changeset
2230 * simplify.c (gfc_simplify_ishftc): Check that absolute value of
kono
parents:
diff changeset
2231 SHIFT is less than or equal to SIZE.
kono
parents:
diff changeset
2232
kono
parents:
diff changeset
2233 2016-07-01 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2234
kono
parents:
diff changeset
2235 PR fortran/71687
kono
parents:
diff changeset
2236 * f95-lang.c (struct binding_level): Add reversed field.
kono
parents:
diff changeset
2237 (clear_binding_level): Adjust initializer.
kono
parents:
diff changeset
2238 (getdecls): If reversed is clear, set it and nreverse the names
kono
parents:
diff changeset
2239 chain before returning it.
kono
parents:
diff changeset
2240 (poplevel): Use getdecls.
kono
parents:
diff changeset
2241 * trans-decl.c (gfc_generate_function_code, gfc_process_block_locals):
kono
parents:
diff changeset
2242 Use nreverse to pushdecl decls in the declaration order.
kono
parents:
diff changeset
2243
kono
parents:
diff changeset
2244 PR fortran/71717
kono
parents:
diff changeset
2245 * trans-openmp.c (gfc_omp_privatize_by_reference): Return false
kono
parents:
diff changeset
2246 for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE.
kono
parents:
diff changeset
2247
kono
parents:
diff changeset
2248 2016-06-30 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2249
kono
parents:
diff changeset
2250 PR fortran/71704
kono
parents:
diff changeset
2251 * parse.c (matchs, matcho): Move right before decode_omp_directive.
kono
parents:
diff changeset
2252 If spec_only, only gfc_match the keyword and if successful, goto
kono
parents:
diff changeset
2253 do_spec_only.
kono
parents:
diff changeset
2254 (matchds, matchdo): Define.
kono
parents:
diff changeset
2255 (decode_omp_directive): Add spec_only local var and set it.
kono
parents:
diff changeset
2256 Use matchds or matchdo macros instead of matchs or matcho
kono
parents:
diff changeset
2257 for declare target, declare simd, declare reduction and threadprivate
kono
parents:
diff changeset
2258 directives. Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
kono
parents:
diff changeset
2259 directive could be matched.
kono
parents:
diff changeset
2260 (next_statement): For ST_GET_FCN_CHARACTERISTICS restore
kono
parents:
diff changeset
2261 gfc_current_locus from old_locus even if there is no label.
kono
parents:
diff changeset
2262
kono
parents:
diff changeset
2263 PR fortran/71705
kono
parents:
diff changeset
2264 * trans-openmp.c (gfc_trans_omp_clauses): Set TREE_ADDRESSABLE on
kono
parents:
diff changeset
2265 decls in to/from clauses.
kono
parents:
diff changeset
2266
kono
parents:
diff changeset
2267 2016-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2268
kono
parents:
diff changeset
2269 PR fortran/71686
kono
parents:
diff changeset
2270 * scanner.c (gfc_next_char_literal): Only decrement nextc if it
kono
parents:
diff changeset
2271 is not NULL.
kono
parents:
diff changeset
2272
kono
parents:
diff changeset
2273 2016-06-29 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
2274
kono
parents:
diff changeset
2275 * openmp.c (match_oacc_clause_gang): Rename to ...
kono
parents:
diff changeset
2276 (match_oacc_clause_gwv): this. Add support for OpenACC worker and
kono
parents:
diff changeset
2277 vector clauses.
kono
parents:
diff changeset
2278 (gfc_match_omp_clauses): Use match_oacc_clause_gwv for
kono
parents:
diff changeset
2279 OMP_CLAUSE_{GANG,WORKER,VECTOR}. Propagate any MATCH_ERRORs for
kono
parents:
diff changeset
2280 invalid OMP_CLAUSE_{ASYNC,WAIT,GANG,WORKER,VECTOR} clauses.
kono
parents:
diff changeset
2281 (gfc_match_oacc_wait): Propagate MATCH_ERROR for invalid
kono
parents:
diff changeset
2282 oacc_expr_lists. Adjust the first and needs_space arguments to
kono
parents:
diff changeset
2283 gfc_match_omp_clauses.
kono
parents:
diff changeset
2284
kono
parents:
diff changeset
2285 2016-06-29 Richard Biener <rguenther@suse.de>
kono
parents:
diff changeset
2286
kono
parents:
diff changeset
2287 PR middle-end/71002
kono
parents:
diff changeset
2288 * f95-lang.c (LANG_HOOKS_GET_ALIAS_SET): Remove (un-)define.
kono
parents:
diff changeset
2289 (gfc_get_alias_set): Remove.
kono
parents:
diff changeset
2290
kono
parents:
diff changeset
2291 2016-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2292
kono
parents:
diff changeset
2293 PR fortran/71649
kono
parents:
diff changeset
2294 * module.c (create_intrinsic_function): Check for NULL values and
kono
parents:
diff changeset
2295 return after giving error.
kono
parents:
diff changeset
2296
kono
parents:
diff changeset
2297 2016-06-21 Michael Meissner <meissner@linux.vnet.ibm.com>
kono
parents:
diff changeset
2298
kono
parents:
diff changeset
2299 * trans-types.c (gfc_build_complex_type): Move setting complex
kono
parents:
diff changeset
2300 MODE to layout_type, instead of setting it ahead of time by the
kono
parents:
diff changeset
2301 caller.
kono
parents:
diff changeset
2302
kono
parents:
diff changeset
2303 2016-06-21 Tobias Burnus <burnus@net-b.de>
kono
parents:
diff changeset
2304
kono
parents:
diff changeset
2305 PR fortran/71068
kono
parents:
diff changeset
2306 * resolve.c (resolve_function): Don't resolve caf_get/caf_send.
kono
parents:
diff changeset
2307 (check_data_variable): Strip-off caf_get before checking.
kono
parents:
diff changeset
2308
kono
parents:
diff changeset
2309 2016-06-20 Tobias Burnus <burnus@net-b.de>
kono
parents:
diff changeset
2310
kono
parents:
diff changeset
2311 PR fortran/71194
kono
parents:
diff changeset
2312 * trans-expr.c (gfc_trans_pointer_assignment): Correctly handle
kono
parents:
diff changeset
2313 RHS pointer functions.
kono
parents:
diff changeset
2314
kono
parents:
diff changeset
2315 2016-06-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
kono
parents:
diff changeset
2316
kono
parents:
diff changeset
2317 * class.c (gfc_add_class_array_ref): Call gfc_add_data_component()
kono
parents:
diff changeset
2318 instead of gfc_add_component_ref().
kono
parents:
diff changeset
2319 (gfc_get_len_component): Call gfc_add_len_component() instead of
kono
parents:
diff changeset
2320 gfc_add_component_ref().
kono
parents:
diff changeset
2321 * trans-intrinsic.c (gfc_conv_intrinsic_loc): Call
kono
parents:
diff changeset
2322 gfc_add_data_component() instead of gfc_add_component_ref().
kono
parents:
diff changeset
2323 * trans.c (gfc_add_finalizer_call): Call
kono
parents:
diff changeset
2324 gfc_add_final_component() and gfc_add_size_component() instead
kono
parents:
diff changeset
2325 of gfc_add_component_ref.
kono
parents:
diff changeset
2326
kono
parents:
diff changeset
2327 2016-06-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
kono
parents:
diff changeset
2328
kono
parents:
diff changeset
2329 * trans-types.c (gfc_typenode_for_spec): Commentary typo fix.
kono
parents:
diff changeset
2330
kono
parents:
diff changeset
2331 2016-06-17 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
2332
kono
parents:
diff changeset
2333 * openmp.c (match_acc): New generic function to parse OpenACC
kono
parents:
diff changeset
2334 directives.
kono
parents:
diff changeset
2335 (gfc_match_oacc_parallel_loop): Use it.
kono
parents:
diff changeset
2336 (gfc_match_oacc_parallel): Likewise.
kono
parents:
diff changeset
2337 (gfc_match_oacc_kernels_loop): Likewise.
kono
parents:
diff changeset
2338 (gfc_match_oacc_kernels): Likewise.
kono
parents:
diff changeset
2339 (gfc_match_oacc_data): Likewise.
kono
parents:
diff changeset
2340 (gfc_match_oacc_host_data): Likewise.
kono
parents:
diff changeset
2341 (gfc_match_oacc_loop): Likewise.
kono
parents:
diff changeset
2342 (gfc_match_oacc_enter_data): Likewise.
kono
parents:
diff changeset
2343 (gfc_match_oacc_exit_data): Likewise.
kono
parents:
diff changeset
2344
kono
parents:
diff changeset
2345 2016-06-16 Martin Liska <mliska@suse.cz>
kono
parents:
diff changeset
2346
kono
parents:
diff changeset
2347 * trans-stmt.c (gfc_trans_simple_do): Predict the edge.
kono
parents:
diff changeset
2348
kono
parents:
diff changeset
2349 2016-06-16 Martin Liska <mliska@suse.cz>
kono
parents:
diff changeset
2350
kono
parents:
diff changeset
2351 * trans-array.c (gfc_array_allocate): Do not generate expect
kono
parents:
diff changeset
2352 stmt.
kono
parents:
diff changeset
2353 * trans.c (gfc_allocate_using_malloc): Properly set FAIL_ALLOC
kono
parents:
diff changeset
2354 predictor for malloc return value.
kono
parents:
diff changeset
2355 (gfc_allocate_allocatable): Use REALLOC predictor instead of
kono
parents:
diff changeset
2356 FAIL_ALLOC.
kono
parents:
diff changeset
2357 (gfc_deallocate_with_status): Likewise.
kono
parents:
diff changeset
2358
kono
parents:
diff changeset
2359 2016-06-13 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2360
kono
parents:
diff changeset
2361 PR fortran/70673
kono
parents:
diff changeset
2362 * frontend-passes.c (realloc_string_callback): Add a call to
kono
parents:
diff changeset
2363 gfc_dep_compare_expr.
kono
parents:
diff changeset
2364
kono
parents:
diff changeset
2365 2016-06-11 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
2366
kono
parents:
diff changeset
2367 PR fortran/60751
kono
parents:
diff changeset
2368 * io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.
kono
parents:
diff changeset
2369
kono
parents:
diff changeset
2370 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
2371
kono
parents:
diff changeset
2372 PR c/71381
kono
parents:
diff changeset
2373 * openmp.c (gfc_match_oacc_cache): Add comment.
kono
parents:
diff changeset
2374
kono
parents:
diff changeset
2375 2016-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2376
kono
parents:
diff changeset
2377 PR fortran/71404
kono
parents:
diff changeset
2378 * io.c (match_io): For READ, commit in pending symbols in the
kono
parents:
diff changeset
2379 current statement before trying to match an expression so that
kono
parents:
diff changeset
2380 if the match fails and we undo symbols we dont toss good symbols.
kono
parents:
diff changeset
2381
kono
parents:
diff changeset
2382 2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2383
kono
parents:
diff changeset
2384 PR fortran/69659
kono
parents:
diff changeset
2385 * trans-array.c (gfc_trans_dummy_array_bias): For class arrays use
kono
parents:
diff changeset
2386 the address of the _data component to reference the arrays data
kono
parents:
diff changeset
2387 component.
kono
parents:
diff changeset
2388
kono
parents:
diff changeset
2389 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
kono
parents:
diff changeset
2390
kono
parents:
diff changeset
2391 * trans-openmp.c (gfc_trans_omp_reduction_list): Add mark_addressable
kono
parents:
diff changeset
2392 bool parameter, set reduction clause DECLs as addressable when true.
kono
parents:
diff changeset
2393 (gfc_trans_omp_clauses): Pass clauses->async to
kono
parents:
diff changeset
2394 gfc_trans_omp_reduction_list, add comment describing OpenACC situation.
kono
parents:
diff changeset
2395
kono
parents:
diff changeset
2396 2016-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2397
kono
parents:
diff changeset
2398 PR fortran/52393
kono
parents:
diff changeset
2399 * io.c (match_io): For READ, try to match a default character
kono
parents:
diff changeset
2400 expression. If found, set the dt format expression to this,
kono
parents:
diff changeset
2401 otherwise go back and try control list.
kono
parents:
diff changeset
2402
kono
parents:
diff changeset
2403 2016-06-01 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2404
kono
parents:
diff changeset
2405 PR fortran/71156
kono
parents:
diff changeset
2406 * decl.c (copy_prefix): Add checks that the module procedure
kono
parents:
diff changeset
2407 declaration prefixes are compliant with the interface. Invert
kono
parents:
diff changeset
2408 order of existing elemental and pure checks.
kono
parents:
diff changeset
2409 * resolve.c (resolve_fl_procedure): Invert order of elemental
kono
parents:
diff changeset
2410 and pure errors.
kono
parents:
diff changeset
2411
kono
parents:
diff changeset
2412 2016-06-01 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2413
kono
parents:
diff changeset
2414 * parse.c (case_decl): Move ST_OMP_* to ...
kono
parents:
diff changeset
2415 (case_omp_decl): ... here, new macro.
kono
parents:
diff changeset
2416 (verify_st_order): For case_omp_decl, complain about
kono
parents:
diff changeset
2417 p->state >= ORDER_EXEC, but don't change p->state otherwise.
kono
parents:
diff changeset
2418
kono
parents:
diff changeset
2419 2016-05-26 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2420
kono
parents:
diff changeset
2421 * openmp.c (resolve_omp_clauses): Warn if chunk_size is known not to
kono
parents:
diff changeset
2422 be positive.
kono
parents:
diff changeset
2423
kono
parents:
diff changeset
2424 2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2425
kono
parents:
diff changeset
2426 PR fortran/66461
kono
parents:
diff changeset
2427 * scanner.c (gfc_next_char_literal): Clear end_flag when adjusting
kono
parents:
diff changeset
2428 current locus back to old_locus.
kono
parents:
diff changeset
2429
kono
parents:
diff changeset
2430 2016-05-20 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2431
kono
parents:
diff changeset
2432 PR fortran/71204
kono
parents:
diff changeset
2433 * frontend-passes.c (realloc_string_callback): Clear inserted_block
kono
parents:
diff changeset
2434 and changed_statement before calling create_var.
kono
parents:
diff changeset
2435
kono
parents:
diff changeset
2436 2016-05-15 Harald Anlauf <anlauf@gmx.de>
kono
parents:
diff changeset
2437
kono
parents:
diff changeset
2438 PR fortran/69603
kono
parents:
diff changeset
2439 * interface.c (compare_parameter): Check for non-NULL pointer.
kono
parents:
diff changeset
2440
kono
parents:
diff changeset
2441 2016-05-14 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
2442
kono
parents:
diff changeset
2443 * gfortran.texi: Update example of DEC UNION extension.
kono
parents:
diff changeset
2444
kono
parents:
diff changeset
2445 2016-05-14 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
2446
kono
parents:
diff changeset
2447 PR fortran/71047
kono
parents:
diff changeset
2448 * expr.c (gfc_default_initializer): Avoid extra component refs in
kono
parents:
diff changeset
2449 constructors for derived types and classes.
kono
parents:
diff changeset
2450
kono
parents:
diff changeset
2451 2016-05-11 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2452
kono
parents:
diff changeset
2453 PR fortran/70855
kono
parents:
diff changeset
2454 * frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare.
kono
parents:
diff changeset
2455
kono
parents:
diff changeset
2456 2016-05-09 Richard Biener <rguenther@suse.de>
kono
parents:
diff changeset
2457
kono
parents:
diff changeset
2458 PR fortran/70937
kono
parents:
diff changeset
2459 * trans-decl.c: Include gimplify.h for unshare_expr.
kono
parents:
diff changeset
2460 (gfc_trans_vla_one_sizepos): Unshare exprs before inserting
kono
parents:
diff changeset
2461 them into the IL.
kono
parents:
diff changeset
2462
kono
parents:
diff changeset
2463 2016-05-07 Fritz Reese <fritzoreese@gmail.com>
kono
parents:
diff changeset
2464
kono
parents:
diff changeset
2465 PR fortran/56226
kono
parents:
diff changeset
2466 * module.c (dt_upper_string): Rename to gfc_dt_upper_string
kono
parents:
diff changeset
2467 (dt_lower_string): Likewise.
kono
parents:
diff changeset
2468 * gfortran.h: Make new gfc_dt_upper/lower_string global.
kono
parents:
diff changeset
2469 * class.c: Use gfc_dt_upper_string.
kono
parents:
diff changeset
2470 * decl.c: Likewise.
kono
parents:
diff changeset
2471 * symbol.c: Likewise.
kono
parents:
diff changeset
2472 * resolve.c (resolve_component): New function.
kono
parents:
diff changeset
2473 (resolve_fl_derived0): Move component loop code to resolve_component.
kono
parents:
diff changeset
2474 * parse.c (check_component): New function.
kono
parents:
diff changeset
2475 (parse_derived): Move loop code to check_component.
kono
parents:
diff changeset
2476 * lang.opt, invoke.texi, options.c : New option -fdec-structure.
kono
parents:
diff changeset
2477 * libgfortran.h (bt): New basic type BT_UNION.
kono
parents:
diff changeset
2478 * gfortran.h (gfc_option): New option -fdec-structure.
kono
parents:
diff changeset
2479 (gfc_get_union_type, gfc_compare_union_types): New prototypes.
kono
parents:
diff changeset
2480 (gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New
kono
parents:
diff changeset
2481 macros.
kono
parents:
diff changeset
2482 (gfc_find_component): Change prototype.
kono
parents:
diff changeset
2483 * match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union,
kono
parents:
diff changeset
2484 gfc_match_structure_decl): New prototypes.
kono
parents:
diff changeset
2485 * parse.h (gfc_comp_struct): New macro.
kono
parents:
diff changeset
2486 * symbol.c (gfc_find_component): Search for components in nested unions
kono
parents:
diff changeset
2487 * class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp,
kono
parents:
diff changeset
2488 copy_vtab_proc_comps): Update calls to gfc_find_component.
kono
parents:
diff changeset
2489 * primary.c (gfc_convert_to_structure_constructor): Likewise.
kono
parents:
diff changeset
2490 * symbol.c (gfc_add_component): Likewise.
kono
parents:
diff changeset
2491 * resolve.c (resolve_typebound_function, resolve_typebound_subroutine,
kono
parents:
diff changeset
2492 resolve_typebound_procedure, resolve_component, resolve_fl_derived):
kono
parents:
diff changeset
2493 Likewise.
kono
parents:
diff changeset
2494 * expr.c (get_union_init, component_init): New functions.
kono
parents:
diff changeset
2495 * decl.c (match_clist_expr, match_record_decl, get_struct_decl,
kono
parents:
diff changeset
2496 gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise.
kono
parents:
diff changeset
2497 * interface.c (compare_components, gfc_compare_union_types): Likewise.
kono
parents:
diff changeset
2498 * match.c (gfc_match_member_sep): Likewise.
kono
parents:
diff changeset
2499 * parse.c (check_component, parse_union, parse_struct_map): Likewise.
kono
parents:
diff changeset
2500 * resolve.c (resolve_fl_struct): Likewise.
kono
parents:
diff changeset
2501 * symbol.c (find_union_component): Likewise.
kono
parents:
diff changeset
2502 * trans-types.c (gfc_get_union_type): Likewise.
kono
parents:
diff changeset
2503 * parse.c (parse_derived): Use new functions.
kono
parents:
diff changeset
2504 * interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise.
kono
parents:
diff changeset
2505 * expr.c (gfc_default_initializer): Likewise.
kono
parents:
diff changeset
2506 * gfortran.texi: Support for DEC structures, unions, and maps.
kono
parents:
diff changeset
2507 * gfortran.h (gfc_statement, sym_flavor): Likewise.
kono
parents:
diff changeset
2508 * check.c (gfc_check_kill_sub): Likewise.
kono
parents:
diff changeset
2509 * expr.c (gfc_copy_expr, simplify_const_ref,
kono
parents:
diff changeset
2510 gfc_has_default_initializer): Likewise.
kono
parents:
diff changeset
2511 * decl.c (build_sym, match_data_constant, add_init_expr_to_sym,
kono
parents:
diff changeset
2512 match_pointer_init, build_struct, variable_decl,
kono
parents:
diff changeset
2513 gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry,
kono
parents:
diff changeset
2514 gfc_match_end, gfc_match_derived_decl): Likewise.
kono
parents:
diff changeset
2515 * interface.c (check_interface0, check_interface1,
kono
parents:
diff changeset
2516 gfc_search_interface): Likewise.
kono
parents:
diff changeset
2517 * misc.c (gfc_basic_typename, gfc_typename): Likewise.
kono
parents:
diff changeset
2518 * module.c (add_true_name, build_tnt, bt_types, mio_typespec,
kono
parents:
diff changeset
2519 fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol,
kono
parents:
diff changeset
2520 gfc_get_module_backend_decl): Likewise.
kono
parents:
diff changeset
2521 * parse.h (gfc_compile_state): Likewise.
kono
parents:
diff changeset
2522 * parse.c (decode_specification_statement, decode_statement,
kono
parents:
diff changeset
2523 gfc_ascii_statement, verify_st_order, parse_spec): Likewise.
kono
parents:
diff changeset
2524 * primary.c (gfc_match_varspec, gfc_match_structure_constructor,
kono
parents:
diff changeset
2525 gfc_match_rvalue, match_variable): Likewise.
kono
parents:
diff changeset
2526 * resolve.c (find_arglists, resolve_structure_cons,
kono
parents:
diff changeset
2527 is_illegal_recursion, resolve_generic_f, get_declared_from_expr,
kono
parents:
diff changeset
2528 resolve_typebound_subroutine, resolve_allocate_expr,
kono
parents:
diff changeset
2529 nonscalar_typebound_assign, generate_component_assignments,
kono
parents:
diff changeset
2530 resolve_fl_variable_derived, check_defined_assignments,
kono
parents:
diff changeset
2531 resolve_component, resolve_symbol, resolve_equivalence_derived):
kono
parents:
diff changeset
2532 Likewise.
kono
parents:
diff changeset
2533 * symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived,
kono
parents:
diff changeset
2534 gfc_restore_last_undo_checkpoint, gfc_type_compatible,
kono
parents:
diff changeset
2535 gfc_find_dt_in_generic): Likewise.
kono
parents:
diff changeset
2536 * trans-decl.c (gfc_get_module_backend_decl, create_function_arglist,
kono
parents:
diff changeset
2537 gfc_create_module_variable, check_constant_initializer): Likewise.
kono
parents:
diff changeset
2538 * trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer,
kono
parents:
diff changeset
2539 gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
kono
parents:
diff changeset
2540 gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p):
kono
parents:
diff changeset
2541 Likewise.
kono
parents:
diff changeset
2542 * trans-io.c (transfer_namelist_element, transfer_expr,
kono
parents:
diff changeset
2543 gfc_trans_transfer): Likewise.
kono
parents:
diff changeset
2544 * trans-stmt.c (gfc_trans_deallocate): Likewise.
kono
parents:
diff changeset
2545 * trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal,
kono
parents:
diff changeset
2546 gfc_get_derived_type): Likewise.
kono
parents:
diff changeset
2547
kono
parents:
diff changeset
2548 2016-05-05 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2549
kono
parents:
diff changeset
2550 * openmp.c (gfc_match_omp_clauses): Restructuralize, so that clause
kono
parents:
diff changeset
2551 parsing is done in a big switch based on gfc_peek_ascii_char and
kono
parents:
diff changeset
2552 individual clauses under their first letters are sorted too.
kono
parents:
diff changeset
2553
kono
parents:
diff changeset
2554 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com>
kono
parents:
diff changeset
2555
kono
parents:
diff changeset
2556 * trans-types.c (gfc_build_complex_type):
kono
parents:
diff changeset
2557
kono
parents:
diff changeset
2558 2016-05-02 Richard Biener <rguenther@suse.de>
kono
parents:
diff changeset
2559
kono
parents:
diff changeset
2560 * trans-array.c (gfc_trans_create_temp_array): Properly
kono
parents:
diff changeset
2561 create a DECL_EXPR for the anonymous VLA array type.
kono
parents:
diff changeset
2562
kono
parents:
diff changeset
2563 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
kono
parents:
diff changeset
2564
kono
parents:
diff changeset
2565 PR middle-end/70626
kono
parents:
diff changeset
2566 * trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
kono
parents:
diff changeset
2567 the reduction clause in both parallel and loop directives.
kono
parents:
diff changeset
2568
kono
parents:
diff changeset
2569 2016-04-18 Michael Matz <matz@suse.de>
kono
parents:
diff changeset
2570
kono
parents:
diff changeset
2571 * trans-io.c (gfc_build_io_library_fndecls): Use SET_TYPE_ALIGN.
kono
parents:
diff changeset
2572 * trans-common.c (build_common_decl): Use SET_DECL_ALIGN.
kono
parents:
diff changeset
2573 * trans-types.c (gfc_add_field_to_struct): Use SET_DECL_ALIGN.
kono
parents:
diff changeset
2574
kono
parents:
diff changeset
2575 2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
2576
kono
parents:
diff changeset
2577 PR fortran/67039
kono
parents:
diff changeset
2578 * intrinsic.texi: Correct the documentation of pseudorandom
kono
parents:
diff changeset
2579 number intrinsics.
kono
parents:
diff changeset
2580
kono
parents:
diff changeset
2581 2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
2582
kono
parents:
diff changeset
2583 PR fortran/58000
kono
parents:
diff changeset
2584 * gfortran.texi: Document OPEN( ... NAME=) as not implemented
kono
parents:
diff changeset
2585 in GNU Fortran
kono
parents:
diff changeset
2586
kono
parents:
diff changeset
2587 2016-04-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2588
kono
parents:
diff changeset
2589 PR fortran/68566
kono
parents:
diff changeset
2590 * array.c (match_array_element_spec): Add check for non-integer.
kono
parents:
diff changeset
2591 * simplify.c (gfc_simplify_reshape): If source shape is NULL return.
kono
parents:
diff changeset
2592
kono
parents:
diff changeset
2593 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
kono
parents:
diff changeset
2594
kono
parents:
diff changeset
2595 PR c/70436
kono
parents:
diff changeset
2596 * openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
kono
parents:
diff changeset
2597 future -Wparentheses warning.
kono
parents:
diff changeset
2598
kono
parents:
diff changeset
2599 2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2600
kono
parents:
diff changeset
2601 PR fortran/67538
kono
parents:
diff changeset
2602 * resolve.c (resolve_allocate_expr): Emit error message when no
kono
parents:
diff changeset
2603 array spec and no array valued source= expression is given in an
kono
parents:
diff changeset
2604 F2008 allocate() for an array to allocate.
kono
parents:
diff changeset
2605
kono
parents:
diff changeset
2606 2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2607
kono
parents:
diff changeset
2608 PR fortran/65795
kono
parents:
diff changeset
2609 * trans-array.c (gfc_array_allocate): When the array is a coarray,
kono
parents:
diff changeset
2610 do not nullyfing its allocatable components in array_allocate, because
kono
parents:
diff changeset
2611 the nullify missed the array ref and nullifies the wrong component.
kono
parents:
diff changeset
2612 Cosmetics.
kono
parents:
diff changeset
2613
kono
parents:
diff changeset
2614 2016-03-29 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2615
kono
parents:
diff changeset
2616 PR fortran/70397
kono
parents:
diff changeset
2617 * trans-expr.c (gfc_class_len_or_zero_get): Add function to return a
kono
parents:
diff changeset
2618 constant zero tree, when the class to get the _len component from is
kono
parents:
diff changeset
2619 not unlimited polymorphic.
kono
parents:
diff changeset
2620 (gfc_copy_class_to_class): Use the new function.
kono
parents:
diff changeset
2621 * trans.h: Added interface of new function gfc_class_len_or_zero_get.
kono
parents:
diff changeset
2622
kono
parents:
diff changeset
2623 2016-03-28 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
kono
parents:
diff changeset
2624
kono
parents:
diff changeset
2625 * trans-decl.c (gfc_build_builtin_function_decls):
kono
parents:
diff changeset
2626 caf_stop_numeric and caf_stop_str definition.
kono
parents:
diff changeset
2627 * trans-stmt.c (gfc_trans_stop): invoke external functions
kono
parents:
diff changeset
2628 for stop and stop_str when coarrays are used.
kono
parents:
diff changeset
2629 * trans.h: extern for new functions.
kono
parents:
diff changeset
2630
kono
parents:
diff changeset
2631 2016-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2632
kono
parents:
diff changeset
2633 PR fortran/69043
kono
parents:
diff changeset
2634 * scanner.c (load_file): Update to use S_ISREG macro.
kono
parents:
diff changeset
2635
kono
parents:
diff changeset
2636 2016-03-17 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
2637
kono
parents:
diff changeset
2638 * gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
kono
parents:
diff changeset
2639 to OMP_MAP_DELETE. Adjust all users.
kono
parents:
diff changeset
2640
kono
parents:
diff changeset
2641 2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2642 Jim MacArthur <jim.macarthur@codethink.co.uk>
kono
parents:
diff changeset
2643
kono
parents:
diff changeset
2644 PR fortran/69043
kono
parents:
diff changeset
2645 * scanner.c (load_file): Check that included file is regular.
kono
parents:
diff changeset
2646
kono
parents:
diff changeset
2647 2016-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2648 Harold Anlauf <anlauf@gmx.de>
kono
parents:
diff changeset
2649
kono
parents:
diff changeset
2650 PR fortran/69520
kono
parents:
diff changeset
2651 * invoke.texi: Explain use of the 'no-' construct within the
kono
parents:
diff changeset
2652 -fcheck= option.
kono
parents:
diff changeset
2653 * options.c (gfc_handle_runtime_check_option): Enable use of
kono
parents:
diff changeset
2654 'no-' prefix for the various options with -fcheck= to allow
kono
parents:
diff changeset
2655 negating previously enabled check options.
kono
parents:
diff changeset
2656
kono
parents:
diff changeset
2657 2016-03-12 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2658
kono
parents:
diff changeset
2659 PR fortran/70031
kono
parents:
diff changeset
2660 * decl.c (gfc_match_prefix): Treat the 'module' prefix in the
kono
parents:
diff changeset
2661 same way as the others, rather than fixing it to come last.
kono
parents:
diff changeset
2662 (gfc_match_function_decl, gfc_match_subroutine): After errors
kono
parents:
diff changeset
2663 in 'copy_prefix', emit them immediately in the case of module
kono
parents:
diff changeset
2664 procedures to prevent a later ICE.
kono
parents:
diff changeset
2665
kono
parents:
diff changeset
2666 PR fortran/69524
kono
parents:
diff changeset
2667 * decl.c (gfc_match_submod_proc): Permit 'module procedure'
kono
parents:
diff changeset
2668 declarations within the contains section of modules as well as
kono
parents:
diff changeset
2669 submodules.
kono
parents:
diff changeset
2670 * resolve.c (resolve_fl_procedure): Likewise.
kono
parents:
diff changeset
2671 *trans-decl.c (build_function_decl): Change the gcc_assert to
kono
parents:
diff changeset
2672 allow all forms of module procedure declarations within module
kono
parents:
diff changeset
2673 contains sections.
kono
parents:
diff changeset
2674
kono
parents:
diff changeset
2675 2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2676
kono
parents:
diff changeset
2677 PR fortran/68147
kono
parents:
diff changeset
2678 PR fortran/47674
kono
parents:
diff changeset
2679 * frontend-passes.c (realloc_string_callback): Don't set
kono
parents:
diff changeset
2680 walk_subtrees.
kono
parents:
diff changeset
2681
kono
parents:
diff changeset
2682 2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2683
kono
parents:
diff changeset
2684 * dump-parse-tree.c (show_code_node): Print association
kono
parents:
diff changeset
2685 list of a block if present. Handle EXEC_END_BLOCK.
kono
parents:
diff changeset
2686
kono
parents:
diff changeset
2687 2016-02-28 Harald Anlauf <anlauf@gmx.de>
kono
parents:
diff changeset
2688 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2689
kono
parents:
diff changeset
2690 PR fortran/56007
kono
parents:
diff changeset
2691 * match.c (gfc_match_iterator): Add diagnostic for array variable
kono
parents:
diff changeset
2692 as do loop index.
kono
parents:
diff changeset
2693
kono
parents:
diff changeset
2694 2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2695 Steven G. Kargl <kargl@gcc.gnu.org>
kono
parents:
diff changeset
2696
kono
parents:
diff changeset
2697 PR fortran/69910
kono
parents:
diff changeset
2698 * io.c (gfc_match_open): Check that open status is an expression
kono
parents:
diff changeset
2699 constant before comparing string to 'scratch' with NEWUNIT.
kono
parents:
diff changeset
2700
kono
parents:
diff changeset
2701 2016-02-27 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
kono
parents:
diff changeset
2702
kono
parents:
diff changeset
2703 * trans.c (gfc_allocate_allocatable): size conversion
kono
parents:
diff changeset
2704 from byte to number of elements for event variables.
kono
parents:
diff changeset
2705 * trans-types.c (gfc_get_derived_type): event variables
kono
parents:
diff changeset
2706 represented as a pointer (like lock variable).
kono
parents:
diff changeset
2707
kono
parents:
diff changeset
2708 2016-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2709
kono
parents:
diff changeset
2710 PR fortran/61156
kono
parents:
diff changeset
2711 * scanner.c (add_path_to_list): If include path is not a directory,
kono
parents:
diff changeset
2712 issue a fatal error.
kono
parents:
diff changeset
2713
kono
parents:
diff changeset
2714 2016-02-23 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2715
kono
parents:
diff changeset
2716 PR fortran/67451
kono
parents:
diff changeset
2717 * trans-array.c (gfc_array_allocate): Take the attributes from the
kono
parents:
diff changeset
2718 expression to allocate and not from the source=-expression.
kono
parents:
diff changeset
2719
kono
parents:
diff changeset
2720 2016-02-20 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2721
kono
parents:
diff changeset
2722 PR fortran/69423
kono
parents:
diff changeset
2723 * trans-decl.c (create_function_arglist): Deferred character
kono
parents:
diff changeset
2724 length functions, with and without declared results, address
kono
parents:
diff changeset
2725 the passed reference type as '.result' and the local string
kono
parents:
diff changeset
2726 length as '..result'.
kono
parents:
diff changeset
2727 (gfc_null_and_pass_deferred_len): Helper function to null and
kono
parents:
diff changeset
2728 return deferred string lengths, as needed.
kono
parents:
diff changeset
2729 (gfc_trans_deferred_vars): Call it, thereby reducing repeated
kono
parents:
diff changeset
2730 code, add call for deferred arrays and reroute pointer function
kono
parents:
diff changeset
2731 results. Avoid using 'tmp' for anything other that a temporary
kono
parents:
diff changeset
2732 tree by introducing 'type_of_array' for the arrayspec type.
kono
parents:
diff changeset
2733
kono
parents:
diff changeset
2734 2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2735
kono
parents:
diff changeset
2736 PR fortran/69742
kono
parents:
diff changeset
2737 * frontend-passes.c (cfe-expr_0): Don't register functions
kono
parents:
diff changeset
2738 from within an ASSOCIATE statement.
kono
parents:
diff changeset
2739
kono
parents:
diff changeset
2740 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2741
kono
parents:
diff changeset
2742 PR fortran/60526
kono
parents:
diff changeset
2743 * decl.c (build_sym): If the name has already been defined as a
kono
parents:
diff changeset
2744 type, it has a symtree with an upper case letter at the beginning.
kono
parents:
diff changeset
2745 If such a symtree exists, issue an error and exit. Don't do
kono
parents:
diff changeset
2746 this if there is no corresponding upper case letter.
kono
parents:
diff changeset
2747
kono
parents:
diff changeset
2748 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2749
kono
parents:
diff changeset
2750 PR fortran/60526
kono
parents:
diff changeset
2751 PR bootstrap/69816
kono
parents:
diff changeset
2752 * decl.c (build_sym): Reverted previous patch.
kono
parents:
diff changeset
2753
kono
parents:
diff changeset
2754 2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2755
kono
parents:
diff changeset
2756 PR fortran/60526
kono
parents:
diff changeset
2757 * decl.c (build_sym): If the name has already been defined as a
kono
parents:
diff changeset
2758 type, issue error and return false.
kono
parents:
diff changeset
2759
kono
parents:
diff changeset
2760 2016-02-12 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2761
kono
parents:
diff changeset
2762 PR other/69554
kono
parents:
diff changeset
2763 * error.c (gfc_diagnostic_start_span): New function.
kono
parents:
diff changeset
2764 (gfc_diagnostics_init): Initialize global_dc's start_span.
kono
parents:
diff changeset
2765
kono
parents:
diff changeset
2766 2016-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2767
kono
parents:
diff changeset
2768 PR fortran/69296
kono
parents:
diff changeset
2769 * gfortran.h: Added flag to gfc_association_list indicating that
kono
parents:
diff changeset
2770 the rank of an associate variable has been guessed only.
kono
parents:
diff changeset
2771 * parse.c (parse_associate): Set the guess flag mentioned above
kono
parents:
diff changeset
2772 when guessing the rank of an expression.
kono
parents:
diff changeset
2773 * resolve.c (resolve_assoc_var): When the rank has been guessed,
kono
parents:
diff changeset
2774 make sure, that the guess was correct else overwrite with the actual
kono
parents:
diff changeset
2775 rank.
kono
parents:
diff changeset
2776 * trans-stmt.c (trans_associate_var): For subref_array_pointers in
kono
parents:
diff changeset
2777 class objects, take the span from the _data component.
kono
parents:
diff changeset
2778
kono
parents:
diff changeset
2779 2016-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2780
kono
parents:
diff changeset
2781 PR fortran/50555
kono
parents:
diff changeset
2782 * primary.c (match_actual_arg): If symbol has attribute flavor of
kono
parents:
diff changeset
2783 namelist, generate an error. (gfc_match_rvalue): Likewise return
kono
parents:
diff changeset
2784 MATCH_ERROR.
kono
parents:
diff changeset
2785 * resolve.c (resolve_symbol): Scan arument list of procedures and
kono
parents:
diff changeset
2786 generate an error if a namelist is found.
kono
parents:
diff changeset
2787
kono
parents:
diff changeset
2788 2016-02-05 Mikael Morin <mikael@gcc.gnu.org>
kono
parents:
diff changeset
2789
kono
parents:
diff changeset
2790 PR fortran/66089
kono
parents:
diff changeset
2791 * trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
kono
parents:
diff changeset
2792 the former to the latter and make it non-static. Update callers.
kono
parents:
diff changeset
2793 * gfortran.h (gfc_expr_is_variable): New declaration.
kono
parents:
diff changeset
2794 (struct gfc_ss_info): Add field needs_temporary.
kono
parents:
diff changeset
2795 * trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
kono
parents:
diff changeset
2796 Tighten the condition on aggregate expressions with a check
kono
parents:
diff changeset
2797 that the expression is a variable and doesn't need a temporary.
kono
parents:
diff changeset
2798 (gfc_conv_resolve_dependency): Add intermediary reference variable.
kono
parents:
diff changeset
2799 Set the needs_temporary field.
kono
parents:
diff changeset
2800
kono
parents:
diff changeset
2801 2016-02-03 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2802
kono
parents:
diff changeset
2803 PR fortran/67451
kono
parents:
diff changeset
2804 PR fortran/69418
kono
parents:
diff changeset
2805 * trans-expr.c (gfc_copy_class_to_class): For coarrays just the
kono
parents:
diff changeset
2806 pointer is passed. Take it as is without trying to deref the
kono
parents:
diff changeset
2807 _data component.
kono
parents:
diff changeset
2808 * trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
kono
parents:
diff changeset
2809 argument to source=-expression.
kono
parents:
diff changeset
2810
kono
parents:
diff changeset
2811 2016-02-02 Nathan Sidwell <nathan@codesourcery.com>
kono
parents:
diff changeset
2812
kono
parents:
diff changeset
2813 * lang.opt (fopenacc-dim=): New option.
kono
parents:
diff changeset
2814
kono
parents:
diff changeset
2815 2016-01-31 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2816
kono
parents:
diff changeset
2817 PR fortran/67564
kono
parents:
diff changeset
2818 * trans-expr.c (gfc_conv_procedure_call): For the vtable copy
kono
parents:
diff changeset
2819 subroutines, add a string length argument, when the actual
kono
parents:
diff changeset
2820 argument is an unlimited polymorphic class object.
kono
parents:
diff changeset
2821
kono
parents:
diff changeset
2822 2016-01-30 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2823
kono
parents:
diff changeset
2824 PR fortran/69566
kono
parents:
diff changeset
2825 * trans-expr.c (gfc_conv_procedure_call): Correct expression
kono
parents:
diff changeset
2826 for 'ulim_copy', which was missing a test for 'comp'.
kono
parents:
diff changeset
2827
kono
parents:
diff changeset
2828 2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
kono
parents:
diff changeset
2829
kono
parents:
diff changeset
2830 PR fortran/62536
kono
parents:
diff changeset
2831 * decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
kono
parents:
diff changeset
2832 when the END encountered does not match a BLOCK's end.
kono
parents:
diff changeset
2833
kono
parents:
diff changeset
2834 2016-01-27 Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
2835
kono
parents:
diff changeset
2836 PR fortran/69484
kono
parents:
diff changeset
2837 * invoke.texi: Fix documentation of -Wall with respect to -Wtabs.
kono
parents:
diff changeset
2838
kono
parents:
diff changeset
2839 2016-01-27 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2840
kono
parents:
diff changeset
2841 PR fortran/69422
kono
parents:
diff changeset
2842 * trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
kono
parents:
diff changeset
2843 for allocatable components, whilst checking if the symbol is a
kono
parents:
diff changeset
2844 derived or class entity..
kono
parents:
diff changeset
2845
kono
parents:
diff changeset
2846 2016-01-26 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2847
kono
parents:
diff changeset
2848 PR fortran/69385
kono
parents:
diff changeset
2849 * trans-expr.c (gfc_trans_assignment_1): Exclude initialization
kono
parents:
diff changeset
2850 assignments from check on assignment of scalars to unassigned
kono
parents:
diff changeset
2851 arrays and correct wrong code within the corresponding block.
kono
parents:
diff changeset
2852
kono
parents:
diff changeset
2853 2016-01-26 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2854
kono
parents:
diff changeset
2855 PR other/69006
kono
parents:
diff changeset
2856 * error.c (gfc_diagnostic_starter): Delete use of pp_newline.
kono
parents:
diff changeset
2857
kono
parents:
diff changeset
2858 2016-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2859
kono
parents:
diff changeset
2860 PR fortran/69397
kono
parents:
diff changeset
2861 PR fortran/68442
kono
parents:
diff changeset
2862 * interface.c (gfc_arglist_matches_symbol): Replace assert with
kono
parents:
diff changeset
2863 a return false if not a procedure.
kono
parents:
diff changeset
2864 * resolve.c (resolve_generic_f): Test if we are resolving an
kono
parents:
diff changeset
2865 initialization expression and adjust error message accordingly.
kono
parents:
diff changeset
2866
kono
parents:
diff changeset
2867 2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2868
kono
parents:
diff changeset
2869 PR fortran/66094
kono
parents:
diff changeset
2870 * frontend-passes.c (matmul_lhs_realloc): Add
kono
parents:
diff changeset
2871 forgotten break statement.
kono
parents:
diff changeset
2872
kono
parents:
diff changeset
2873 2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
2874
kono
parents:
diff changeset
2875 PR fortran/68283
kono
parents:
diff changeset
2876 * primary.c (gfc_variable_attr): revert revision r221955,
kono
parents:
diff changeset
2877 call gfc_internal_error only if there is no error.
kono
parents:
diff changeset
2878
kono
parents:
diff changeset
2879 2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2880
kono
parents:
diff changeset
2881 PR fortran/66094
kono
parents:
diff changeset
2882 * frontend-passes.c (enum matrix_case): Add case A2B2T for
kono
parents:
diff changeset
2883 MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
kono
parents:
diff changeset
2884 (inline_limit_check): Also add A2B2T.
kono
parents:
diff changeset
2885 (matmul_lhs_realloc): Handle A2B2T.
kono
parents:
diff changeset
2886 (check_conjg_variable): Rename to
kono
parents:
diff changeset
2887 (check_conjg_transpose_variable): and also count TRANSPOSE.
kono
parents:
diff changeset
2888 (inline_matmul_assign): Handle A2B2T.
kono
parents:
diff changeset
2889
kono
parents:
diff changeset
2890 2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
kono
parents:
diff changeset
2891
kono
parents:
diff changeset
2892 PR fortran/65996
kono
parents:
diff changeset
2893 * error.c (gfc_error): Save the state of abort_on_error and set
kono
parents:
diff changeset
2894 it to false for buffered errors to allow normal processing.
kono
parents:
diff changeset
2895 Restore the state before leaving.
kono
parents:
diff changeset
2896
kono
parents:
diff changeset
2897 2016-01-19 Martin Jambor <mjambor@suse.cz>
kono
parents:
diff changeset
2898
kono
parents:
diff changeset
2899 * types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
kono
parents:
diff changeset
2900 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
kono
parents:
diff changeset
2901 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
kono
parents:
diff changeset
2902
kono
parents:
diff changeset
2903 2016-01-15 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2904
kono
parents:
diff changeset
2905 PR fortran/64324
kono
parents:
diff changeset
2906 * resolve.c (check_uop_procedure): Prevent deferred length
kono
parents:
diff changeset
2907 characters from being trapped by assumed length error.
kono
parents:
diff changeset
2908
kono
parents:
diff changeset
2909 PR fortran/49630
kono
parents:
diff changeset
2910 PR fortran/54070
kono
parents:
diff changeset
2911 PR fortran/60593
kono
parents:
diff changeset
2912 PR fortran/60795
kono
parents:
diff changeset
2913 PR fortran/61147
kono
parents:
diff changeset
2914 PR fortran/64324
kono
parents:
diff changeset
2915 * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
kono
parents:
diff changeset
2916 function as well as variable expressions.
kono
parents:
diff changeset
2917 (gfc_array_init_size): Add 'expr' as an argument. Use this to
kono
parents:
diff changeset
2918 correctly set the descriptor dtype for deferred characters.
kono
parents:
diff changeset
2919 (gfc_array_allocate): Add 'expr' to the call to
kono
parents:
diff changeset
2920 'gfc_array_init_size'.
kono
parents:
diff changeset
2921 * trans.c (gfc_build_array_ref): Expand logic for setting span
kono
parents:
diff changeset
2922 to include indirect references to character lengths.
kono
parents:
diff changeset
2923 * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
kono
parents:
diff changeset
2924 result char lengths that are PARM_DECLs are indirectly
kono
parents:
diff changeset
2925 referenced both for directly passed and by reference.
kono
parents:
diff changeset
2926 (create_function_arglist): If the length type is a pointer type
kono
parents:
diff changeset
2927 then store the length as the 'passed_length' and make the char
kono
parents:
diff changeset
2928 length an indirect reference to it.
kono
parents:
diff changeset
2929 (gfc_trans_deferred_vars): If a character length has escaped
kono
parents:
diff changeset
2930 being set as an indirect reference, return it via the 'passed
kono
parents:
diff changeset
2931 length'.
kono
parents:
diff changeset
2932 * trans-expr.c (gfc_conv_procedure_call): The length of
kono
parents:
diff changeset
2933 deferred character length results is set TREE_STATIC and set to
kono
parents:
diff changeset
2934 zero.
kono
parents:
diff changeset
2935 (gfc_trans_assignment_1): Do not fix the rse string_length if
kono
parents:
diff changeset
2936 it is a variable, a parameter or an indirect reference. Add the
kono
parents:
diff changeset
2937 code to trap assignment of scalars to unallocated arrays.
kono
parents:
diff changeset
2938 * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
kono
parents:
diff changeset
2939 all references to it. Instead, replicate the code to obtain a
kono
parents:
diff changeset
2940 explicitly defined string length and provide a value before
kono
parents:
diff changeset
2941 array allocation so that the dtype is correctly set.
kono
parents:
diff changeset
2942 trans-types.c (gfc_get_character_type): If the character length
kono
parents:
diff changeset
2943 is a pointer, use the indirect reference.
kono
parents:
diff changeset
2944
kono
parents:
diff changeset
2945 2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
kono
parents:
diff changeset
2946
kono
parents:
diff changeset
2947 PR fortran/69154
kono
parents:
diff changeset
2948 * frontend-passes.c (in_where): New variable.
kono
parents:
diff changeset
2949 (inline_matmul_assign): Don't try this if we are within
kono
parents:
diff changeset
2950 a WHERE statement.
kono
parents:
diff changeset
2951 (gfc_code_walker): Keep track of in_where.
kono
parents:
diff changeset
2952
kono
parents:
diff changeset
2953 2016-01-10 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2954
kono
parents:
diff changeset
2955 PR fortran/67779
kono
parents:
diff changeset
2956 * trans_array.c (gfc_conv_scalarized_array_ref): Add missing
kono
parents:
diff changeset
2957 se->use_offset from condition for calculation of 'base'.
kono
parents:
diff changeset
2958
kono
parents:
diff changeset
2959 2016-01-08 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2960
kono
parents:
diff changeset
2961 PR fortran/69128
kono
parents:
diff changeset
2962 * trans.h (OMPWS_SCALARIZER_BODY): Define.
kono
parents:
diff changeset
2963 (OMPWS_NOWAIT): Renumber.
kono
parents:
diff changeset
2964 * trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
kono
parents:
diff changeset
2965 if OMPWS_SCALARIZER_BODY is not set already, and set also
kono
parents:
diff changeset
2966 OMPWS_SCALARIZER_BODY until the final loop creation.
kono
parents:
diff changeset
2967 * trans-expr.c (gfc_trans_assignment_1): Likewise.
kono
parents:
diff changeset
2968 * trans-openmp.c (gfc_trans_omp_workshare): Also clear
kono
parents:
diff changeset
2969 OMPWS_SCALARIZER_BODY.
kono
parents:
diff changeset
2970 * trans-array.c (gfc_trans_scalarized_loop_end): Don't create
kono
parents:
diff changeset
2971 OMP_FOR if OMPWS_SCALARIZER_BODY is set.
kono
parents:
diff changeset
2972
kono
parents:
diff changeset
2973 2016-01-04 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2974
kono
parents:
diff changeset
2975 Update copyright years.
kono
parents:
diff changeset
2976
kono
parents:
diff changeset
2977 * gfortranspec.c (lang_specific_driver): Update copyright notice
kono
parents:
diff changeset
2978 dates.
kono
parents:
diff changeset
2979 * gfc-internals.texi: Bump @copying's copyright year.
kono
parents:
diff changeset
2980 * gfortran.texi: Ditto.
kono
parents:
diff changeset
2981 * intrinsic.texi: Ditto.
kono
parents:
diff changeset
2982 * invoke.texi: Ditto.
kono
parents:
diff changeset
2983
kono
parents:
diff changeset
2984 2016-01-01 Paul Thomas <pault@gcc.gnu.org>
kono
parents:
diff changeset
2985
kono
parents:
diff changeset
2986 PR fortran/68864
kono
parents:
diff changeset
2987 * trans-array.c (evaluate_bound): If deferred, test that 'desc'
kono
parents:
diff changeset
2988 is an array descriptor before using gfc_conv_descriptor_xxx.
kono
parents:
diff changeset
2989
kono
parents:
diff changeset
2990 Copyright (C) 2016 Free Software Foundation, Inc.
kono
parents:
diff changeset
2991
kono
parents:
diff changeset
2992 Copying and distribution of this file, with or without modification,
kono
parents:
diff changeset
2993 are permitted in any medium without royalty provided the copyright
kono
parents:
diff changeset
2994 notice and this notice are preserved.