]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
use templates instead of gengtype for typed allocation functions
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
25a27413 12014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2
3 * f95-lang.c (pushlevel): Adjust.
4 * trans-decl.c (gfc_allocate_lang_decl): Adjust.
5 (gfc_find_module): Likewise.
6 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
7 (gfc_get_array_type_bounds): Likewise.
8 (gfc_nonrestricted_type): Likewise.
9 * trans.h: Don't use variable_size gty attribute.
10
a8bd4d82 112014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
12
13 * check.c (gfc_check_fn_rc2008): move "argument" to the right
14 place.
15
936318a7 162014-05-12 Tobias Burnus <burnus@net-b.de>
17
18 PR fortran/60127
19 * openmp.c (resolve_omp_do): Reject do concurrent loops.
20
f17aef51 212014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
22
23 PR fortran/60834
24 * frontend-passes.c (in_assoc_list): New variable.
25 (optimize_namespace): Initialize in_assoc_list
26 (combine_array_constructor): Don't try to combine
27 assoc lists.
28 (gfc_code_walker): Keep track of in_assoc_list.
29
15b28553 302014-05-11 Jakub Jelinek <jakub@redhat.com>
31
32 * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
33 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
34 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
35 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
36 ST_OMP_DECLARE_SIMD.
37 (gfc_omp_namelist): New typedef.
38 (gfc_get_omp_namelist): Define.
39 (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
40 OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
41 (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
42 (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
43 Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
44 simdlen_expr fields.
45 (gfc_omp_declare_simd): New typedef.
46 (gfc_get_omp_declare_simd): Define.
47 (gfc_namespace): Add omp_declare_simd field.
48 (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
49 EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
50 EXEC_OMP_PARALLEL_DO_SIMD.
51 (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
52 and GFC_OMP_ATOMIC_SWAP.
53 (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
54 (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
55 gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
56 prototypes.
57 * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
58 * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
59 * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
60 simdlen_expr. Use gfc_free_omp_namelist instead of
61 gfc_free_namelist.
62 (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
63 functions.
64 (gfc_match_omp_variable_list): Add end_colon, headp and
65 allow_sections arguments. Handle parsing of array sections.
66 Use *omp_namelist* instead of *namelist* data structure and
67 functions/macros. Allow termination at : character.
68 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
69 OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
70 OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
71 (gfc_match_omp_clauses): Change first and needs_space variables
72 into arguments with default values. Parse inbranch, notinbranch,
73 proc_bind, safelen, simdlen, uniform, linear, aligned and
74 depend clauses.
75 (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
76 (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
77 (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
78 (gfc_match_omp_do_simd): New function.
79 (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
80 data structure and functions/macros.
81 (gfc_match_omp_simd, gfc_match_omp_declare_simd,
82 gfc_match_omp_parallel_do_simd): New functions.
83 (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
84 (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
85 gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
86 functions.
87 (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
88 Use *omp_namelist* instead of *namelist* data structure and
89 functions/macros. Resolve uniform, aligned, linear, depend,
90 safelen and simdlen clauses.
91 (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
92 addition, recognize atomic swap.
93 (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
94 of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
95 EXEC_OMP_PARALLEL_DO.
96 (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
97 data structure and functions/macros.
98 (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
99 EXEC_OMP_PARALLEL_DO_SIMD.
100 (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
101 EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
102 resolve_omp_clauses caller.
103 (gfc_resolve_omp_declare_simd): New function.
104 * parse.c (decode_omp_directive): Parse cancellation point, cancel,
105 declare simd, end do simd, end simd, end parallel do simd,
106 end taskgroup, parallel do simd, simd and taskgroup directives.
107 (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
108 (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
109 ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
110 (case_decl): Add ST_OMP_DECLARE_SIMD.
111 (gfc_ascii_statement): Handle ST_OMP_CANCEL,
112 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
113 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
114 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
115 ST_OMP_DECLARE_SIMD.
116 (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
117 ST_OMP_PARALLEL_DO_SIMD.
118 (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
119 (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
120 ST_OMP_PARALLEL_DO_SIMD.
121 (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
122 ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
123 * trans-decl.c (gfc_get_extern_function_decl,
124 gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
125 needed.
126 * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
127 EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
128 safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
129 of depend, aligned and linear clauses.
130 * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
131 and EXEC_OMP_PARALLEL_DO_SIMD.
132 (gfc_free_omp_namelist): New function.
133 * dump-parse-tree.c (show_namelist): Removed.
134 (show_omp_namelist): New function.
135 (show_omp_node): Handle OpenMP 4.0 additions.
136 (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
137 EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
138 EXEC_OMP_TASKGROUP.
139 * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
140 gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
141 gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
142 gfc_match_omp_taskgroup): New prototypes.
143 * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
144 argument, handle it. Allow current_function_decl to be NULL.
145 (gfc_trans_omp_variable_list): Add declare_simd argument, pass
146 it through to gfc_trans_omp_variable and disregard whether
147 sym is referenced if declare_simd is true. Work on gfc_omp_namelist
148 instead of gfc_namelist.
149 (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
150 gfc_namelist. Adjust gfc_trans_omp_variable caller.
151 (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
152 to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
153 instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
154 simdlen, depend, uniform, linear, proc_bind and aligned clauses.
155 Handle cancel kind.
156 (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
157 adjust for GFC_OMP_ATOMIC_* changes.
158 (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
159 functions.
160 (gfc_trans_omp_do): Add op argument, handle simd translation into
161 generic.
162 (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
163 GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
164 GFC_OMP_MASK_PARALLEL): New.
165 (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
166 (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
167 (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
168 functions.
169 (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
170 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
171 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
172 Adjust gfc_trans_omp_do caller.
173 (gfc_trans_omp_declare_simd): New function.
174 * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
175 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
176 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
177 For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
178 gfc_free_namelist.
179 * module.c (omp_declare_simd_clauses): New variable.
180 (mio_omp_declare_simd): New function.
181 (mio_symbol): Call it.
182 * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
183 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
184 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
185 * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
186 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
187 (resolve_code): Handle EXEC_OMP_CANCEL,
188 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
189 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
190 (resolve_types): Call gfc_resolve_omp_declare_simd.
191
da82fa7c 1922014-05-11 Tobias Burnus <burnus@net-b.de>
193
194 * trans-intrinsic.c (gfc_build_builtin_function_decls):
195 Change type of second argument to int.
196
cf767dd4 1972014-05-09 Mike Stump <mikestump@comcast.net>
198
199 PR fortran/61109
200 * trans-array.c (gfc_conv_array_initializer): Fix wide-int
201 conversion bug.
202
8879941c 2032014-05-08 Tobias Burnus <burnus@net-b.de>
204
205 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
206 and GFC_ISYM_CAF_SEND.
207 * intrinsic.c (add_functions): Add only internally
208 accessible caf_get and caf_send functions.
209 * resolve.c (add_caf_get_intrinsic,
210 remove_caf_get_intrinsic): New functions.
211 (resolve_variable): Resolve expression rank and
212 prepare for add_caf_get_intrinsic call.
213 (gfc_resolve_expr): For variables, remove rank
214 resolution.
215 (resolve_ordinary_assign): Prepare call to
216 GFC_ISYM_CAF_SEND.
217 (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
218 the LHS of an assignment.
219
40ed4fd4 2202014-05-08 Tobias Burnus <burnus@net-b.de>
221
222 * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
223
79ed4a8e 2242014-05-08 Tobias Burnus <burnus@net-b.de>
225
226 * check.c (check_co_minmaxsum, gfc_check_co_minmax,
227 gfc_check_co_sum): New.
228 * error.c (gfc_notify_std): Update -std=f2008ts.
229 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
230 GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
231 * intrinsic.h (gfc_check_co_minmax,
232 gfc_check_co_sum): Declare.
233 * intrinsic.c (add_subroutines): Add co_min, co_max
234 and co_sum.
235 (gfc_check_intrinsic_standard): Update text for
236 -std=f2008ts.
237 * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
238 them.
239 * invoke.texi (-std=f2008ts): Update wording.
240 * trans.h (gfor_fndecl_co_max,
241 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
242 * trans-decl.c (gfor_fndecl_co_max,
243 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
244 (gfc_build_builtin_function_decls): Assign to it.
245 * trans-intrinsic.c (conv_co_minmaxsum): New.
246 (gfc_conv_intrinsic_subroutine): Call it.
247
960d5a55 2482014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
249 Mike Stump <mikestump@comcast.net>
250 Richard Sandiford <rdsandiford@googlemail.com>
251
252 * target-memory.c: Include wide-int.h.
253 (gfc_interpret_logical): Use wide-int interfaces.
254 * trans-array.c: Include wide-int.h.
255 (gfc_conv_array_initializer): Use wide-int interfaces.
256 * trans-const.c: Include wide-int.h.
257 (gfc_conv_string_init): Use wide-int interfaces.
258 (gfc_conv_mpz_to_tree): Likewise.
259 (gfc_conv_tree_to_mpz): Likewise.
260 * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
261 * trans-expr.c: Include wide-int.h.
262 (gfc_conv_cst_int_power): Use wide-int interfaces.
263 (gfc_string_to_single_character): Likewise.
264 (gfc_optimize_len_trim): Likewise.
265 * trans-intrinsic.c: Include wide-int.h.
266 (trans_this_image): Use wide-int interfaces.
267 (gfc_conv_intrinsic_bound): Likewise.
268 (conv_intrinsic_cobound): Likewise.
269 * trans-types.c (gfc_init_types): Likewise.
270 (gfc_get_array_type_bounds): Pass an integer of the correct type
271 instead of using integer_one_node.
272
b4d49769 2732014-04-30 Tobias Burnus <burnus@net-b.de>
274
275 * trans-decl.c (create_function_arglist): Add hidden coarray arguments
276 also for polymorphic coarrays.
277 * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
278 also for polymorphic coarrays.
279
4921ab8a 2802014-04-30 Tobias Burnus <burnus@net-b.de>
281
282 * resolve.c (resolve_function): Don't do
283 assumed-size check for lcobound/ucobound.
284 * trans-types.c (gfc_build_array_type): Only build an array
285 descriptor with codimensions for allocatable coarrays.
286
3c3f24bc 2872014-04-30 Tobias Burnus <burnus@net-b.de>
288
289 * gfortran.h (gfc_init_coarray_decl): Remove.
290 * parse.c (translate_all_program_units): Remove call to it.
291 (gfc_parse_file): Update call.
292 * trans.h (gfor_fndecl_caf_this_image,
293 gfor_fndecl_caf_num_images): Add.
294 (gfort_gvar_caf_num_images,
295 gfort_gvar_caf_this_image): Remove.
296 * trans-decl.c (gfor_fndecl_caf_this_image,
297 gfor_fndecl_caf_num_images): Add.
298 (gfort_gvar_caf_num_images,
299 gfort_gvar_caf_this_image): Remove.
300 (gfc_build_builtin_function_decls): Init new decl.
301 (gfc_init_coarray_dec): Remove.
302 (create_main_function): Change calls.
303 * trans-intrinsic.c (trans_this_image, trans_image_index,
304 conv_intrinsic_cobound): Generate call to new library function
305 instead of to a static variable.
306 * trans-stmt.c (gfc_trans_sync): Ditto.
307
3cc0ee47 3082014-04-30 Tobias Burnus <burnus@net-b.de>
309
310 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
311 and derived-type coarrays.
312
3132014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
dd0b96f0 314
315 PR fortran/59604
316 PR fortran/58003
317 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
318 * arith.c (gfc_int2int): Convert number to signed if
319 arithmetic overflow is not checked.
320 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
321 size if range checking is in force.
322 (convert_mpz_to_signed): Make non-static, rename to
323 (gfc_convert_mpz_to_signed).
324 (simplify_dshift): Use gfc_convert_mpz_to_signed.
325 (gfc_simplify_ibclr): Likewise.
326 (gfc_simplify_ibits): Likewise.
327 (gfc_simplify_ibset): Likewise.
328 (simplify_shift): Likewise.
329 (gfc_simplify_ishiftc): Likewise.
330 (gfc_simplify_maskr): Likewise.
331 (gfc_simplify_maskl): Likewise.
332
0992e56f 3332014-04-22 Tobias Burnus <burnus@net-b.de>
334
335 PR fortran/60881
336 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
337 of scalar coarrays.
338
e2ec52ca 3392014-04-17 Jakub Jelinek <jakub@redhat.com>
340
341 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
342 argument is enum machine_mode.
343
b447bac3 3442014-04-13 Paul Thomas <pault@gcc.gnu.org>
345
346 PR fortran/58085
347 PR fortran/60717
348 * trans.h: Add 'use_offset' bitfield to gfc_se.
349 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
350 as a trigger to unconditionally recalculate the offset for
351 array slices and constant arrays.
352 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
353 trans-stmt.c (trans_associate_var): Ditto.
354 (gfc_conv_procedure_call): Ditto.
355
baf14602 3562014-04-11 Tobias Burnus <burnus@net-b.de>
357
358 PR fortran/58880
359 PR fortran/60495
360 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
361 and finalization wrappers are generated.
362
d1cc1356 3632014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
364
365 * intrinsic.texi (RANDOM_SEED): Improve example.
366
31c03a14 3672014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
368
369 * class.c (gfc_build_class_symbol): Append "_t" to target class
370 names to make the generated type names unique.
371
dcb4709c 3722014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
373
374 PR fortran/60191
375 * trans-types.c (gfc_get_function_type): In case of recursion
376 build a variadic function type with empty argument list instead of a
377 stdarg-like function type with incomplete argument list.
378
6f4e5638 3792014-04-04 Tobias Burnus <burnus@net-b.de>
380
381 * check.c (gfc_check_cmplx): Fix typo.
382
8665f3b2 3832014-03-28 Mikael Morin <mikael@gcc.gnu.org>
384 Tobias Burnus <burnus@net-b.de>
385
eecfcba4 386 PR fortran/60576
8665f3b2 387 * trans-expr.c (gfc_conv_derived_to_class): Avoid
388 generation of out-of-bounds range expr.
389
ec9fd7b7 3902014-03-28 Mikael Morin <mikael@gcc.gnu.org>
391
392 PR fortran/60677
393 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
394 list buffer.
395
3962014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
9c1f3230 397
398 PR fortran/60522
399 * frontend-passes.c (cfe_code): Do not walk subtrees
400 for WHERE.
401
efa70124 4022014-03-27 Tobias Burnus <burnus@net-b.de>
403
404 PR fortran/58880
405 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
406 of nonpointers.
407
bb9c2cbb 4082014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
409
410 PR fortran/34928
411 * fortran.texi: Document Volatile COMMON as not supported.
412
446bdf5f 4132014-03-22 Jakub Jelinek <jakub@redhat.com>
414
415 PR debug/60603
416 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
417 <built-in>.
418
e458f5c0 4192014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
420
421 PR fortran/60148
422 * gfortran.texi: Add description of namelist DELIM= behavior.
423
57cb78c6 4242014-03-19 Tobias Burnus <burnus@net-b.>
425
426 PR fortran/60543
427 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
428 * resolve.c (resolve_ordinary_assign): Ditto.
429
c77badf3 4302014-03-19 Tobias Burnus <burnus@net-b.de>
431
432 PR fortran/60543
433 PR fortran/60283
434 * gfortran.h (gfc_unset_implicit_pure): New prototype.
435 * resolve.c (gfc_unset_implicit_pure): New.
436 (resolve_structure_cons, resolve_function,
437 pure_subroutine): Use it.
438 * decl.c (match_old_style_init, gfc_match_data,
439 match_pointer_init, variable_decl): Ditto.
440 * expr.c (gfc_check_pointer_assign): Ditto.
441 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
442 * io.c (match_vtag, gfc_match_open, gfc_match_close,
443 match_filepos, gfc_match_inquire, gfc_match_print,
444 gfc_match_wait): Ditto.
445 * match.c (gfc_match_critical, gfc_match_stopcode,
446 lock_unlock_statement, sync_statement, gfc_match_allocate,
447 gfc_match_deallocate): Ditto.
448 * parse.c (decode_omp_directive): Ditto.
449 * symbol.c (gfc_add_save): Ditto.
450
c25834c9 4512014-03-18 Janus Weil <janus@gcc.gnu.org>
452
453 PR fortran/55207
454 PR fortran/60549
455 * decl.c (match_attr_spec): Revert r208590.
456
c83059be 4572014-03-18 Jakub Jelinek <jakub@redhat.com>
458
459 PR ipa/58721
460 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
461 if !optimize.
462
4632014-03-18 Tobias Burnus <burnus@net-b.de>
464
465 PR ipa/58721
466 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
467 (gfc_trans_io_runtime_check): Remove.
468 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
469 as argument, add predictor to block.
470 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
471 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
472 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
473 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
474 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
475 branch predictor.
476 * trans-expr.c (gfc_conv_procedure_call): Ditto.
477 * trans-stmt.c (gfc_trans_allocate): Ditto.
478 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
479
47e80b17 4802014-03-15 Janus Weil <janus@gcc.gnu.org>
481
482 PR fortran/55207
483 * decl.c (match_attr_spec): Variables in the main program implicitly
484 get the SAVE attribute in Fortran 2008.
485
c99239d3 4862014-03-14 Mikael Morin <mikael@gcc.gnu.org>
487
488 PR fortran/60392
489 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
490 if it has transposed dimensions.
491
c7a63538 4922014-03-08 Tobias Burnus <burnus@net-b.de>
493
494 PR fortran/60447
495 * f95-lang.c (gfc_init): Return false when only
496 preprocessing.
497 * options.c (gfc_post_options): Ditto.
498
023e1239 4992014-03-08 Tobias Burnus <burnus@net-b.de>
500
501 * gfortran.texi (Fortran 2003 Status): Mention finalization,
502 deferred-length character support and input rounding.
503 (Fortran 2008 Status): Mention that at termination
504 signalling exceptions are shown.
505
13d7216c 5062014-03-06 Paul Thomas <pault@gcc.gnu.org>
507 Janus Weil <janus@gcc.gnu.org>
508
509 PR fortran/51976
510 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
511 * primary.c (build_actual_constructor): It is not an error if
512 a missing component has the deferred_parameter attribute;
513 equally, if one is given a value, it is an error.
514 * resolve.c (resolve_fl_derived0): Remove error for deferred
515 character length components. Add the hidden string length
516 field to the structure. Give it the deferred_parameter
517 attribute.
518 * trans-array.c (duplicate_allocatable): Add a strlen field
519 which is used as the element size if it is non-null.
520 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
521 NULL to the new argument in duplicate_allocatable.
522 (structure_alloc_comps): Set the hidden string length as
523 appropriate. Use it in calls to duplicate_allocatable.
524 (gfc_alloc_allocatable_for_assignment): When a deferred length
525 backend declaration is variable, use that; otherwise use the
526 string length from the expression evaluation.
527 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
528 character length component, the string length should have the
529 value of the hidden string length field.
530 (gfc_trans_subcomponent_assign): Set the hidden string length
531 field for deferred character length components. Allocate the
532 necessary memory for the string.
533 (alloc_scalar_allocatable_for_assignment): Same change as in
534 gfc_alloc_allocatable_for_assignment above.
535 * trans-stmt.c (gfc_trans_allocate): Likewise.
536 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
537 * trans-types.c (gfc_get_derived_type): Set the tree type for
538 a deferred character length component.
539 * trans.c (gfc_deferred_strlen): New function.
540 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
541
5230e0eb 5422014-03-01 Mikael Morin <mikael@gcc.gnu.org>
543
544 PR fortran/60341
545 * frontend-passes.c (optimize_comparison): Guard two union accesses
546 with the corresponding tag checks.
547
18fe23ca 5482014-02-28 Janus Weil <janus@gcc.gnu.org>
549
550 PR fortran/60359
551 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
552 procedure for characters.
553
c64dd30b 5542014-02-21 Janus Weil <janus@gcc.gnu.org>
555
556 PR fortran/60302
557 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
558 is successful.
559
e8393d49 5602014-02-21 Janus Weil <janus@gcc.gnu.org>
561
562 PR fortran/60234
563 * gfortran.h (gfc_build_class_symbol): Removed argument.
564 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
565 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
566 delayed now, except for unlimited polymorphics.
567 (comp_is_finalizable): Procedure pointer components are not finalizable.
568 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
569 'gfc_build_class_symbol'.
570 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
571 Ditto.
572 * symbol.c (gfc_set_default_type): Ditto.
573
70782c79 5742014-02-19 Janus Weil <janus@gcc.gnu.org>
575
576 PR fortran/60232
577 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
578 functions, which are used as procedure pointer target.
579
77d080ca 5802014-02-18 Tobias Burnus <burnus@net-b.de>
581
582 PR fortran/49397
583 * expr.c (gfc_check_pointer_assign): Add check for
584 F2008Cor2, C729.
585 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
586 decl in a corner case.
587
2ab6a21d 5882014-02-18 Janus Weil <janus@gcc.gnu.org>
589
590 PR fortran/60231
591 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
592 arguments to prevent ICE.
593
41201fa1 5942014-02-17 Janus Weil <janus@gcc.gnu.org>
595
596 PR fortran/55907
597 * resolve.c (build_default_init_expr): Don't initialize character
598 variable if -fno-automatic is given.
599
5ac6468c 6002014-02-15 Mikael Morin <mikael@gcc.gnu.org>
601
602 PR fortran/59599
603 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
604 number of arguments.
605
a1f1e248 6062014-02-11 Jakub Jelinek <jakub@redhat.com>
607
608 PR fortran/52370
609 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
610 on decl if sym->attr.optional.
611
b664a6ed 6122014-02-09 Paul Thomas <pault@gcc.gnu.org>
613
614 PR fortran/57522
615 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
616 attribute for the 'associate-name' if necessary.
617 * trans-stmt.c (trans_associate_var): If the 'associate-name'
618 is a subref_array_pointer, assign the element size of the
619 associate variable to 'span'.
620
032f05c9 6212014-02-09 Paul Thomas <pault@gcc.gnu.org>
622
623 PR fortran/59026
624 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
625 actual argument to a formal argument with the value attribute
626 in an elemental procedure.
627
8e0d05f4 6282014-02-08 Janus Weil <janus@gcc.gnu.org>
629 Mikael Morin <mikael.morin@gcc.gnu.org>
630
631 PR fortran/58470
632 * class.c (generate_finalization_wrapper): Assert that proc_tree has
633 been set in gfc_resolve_finalizers.
634 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
635 gfc_is_finalizable.
636
b0b557ae 6372014-02-07 Benno Schulenberg <bensberg@justemail.net>
638
639 PR translation/52289
640 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
641 in an error message.
642
42412a94 6432014-02-02 Mikael Morin <mikael@gcc.gnu.org>
644
645 PR fortran/57033
646 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
647 dereference.
648
e6b90557 6492014-02-01 Paul Thomas <pault@gcc.gnu.org>
650
651 PR fortran/59906
652 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
653 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
654 pointer to the string is stored.
655 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
656 gfc_conv_string_parameter to ensure that a pointer to is passed
657 to the elemental function.
658
85596a5e 6592014-01-28 Paul Thomas <pault@gcc.gnu.org>
660
661 PR fortran/59414
662 * trans-stmt.c (gfc_trans_allocate): Before the pointer
663 assignment to transfer the source _vptr to a class allocate
664 expression, the final class reference should be exposed. The
665 tail that includes the _data and array references is stored.
666 This reduced expression is transferred to 'lhs' and the _vptr
667 added. Then the tail is restored to the allocate expression.
668
f6ae918d 6692014-01-26 Mikael Morin <mikael@gcc.gnu.org>
670
671 PR fortran/58007
672 * module.c (read_module): Assert for component name correctness.
673
2c658c2c 6742014-01-18 Mikael Morin <mikael@gcc.gnu.org>
675
676 PR fortran/58007
677 * module.c (MOD_VERSION): Bump.
678 (fp2, find_pointer2): Remove.
679 (mio_component_ref): Don't forcedfully set the containing derived type
680 symbol for loading. Remove unused argument.
681 (mio_ref): Update caller
682 (mio_symbol): Dump component list earlier.
683 (skip_list): New argument nest_level. Initialize level with the new
684 argument.
685 (read_module): Add forced pointer components association for derived
686 type symbols.
687
a1e76cd9 6882014-01-12 Janus Weil <janus@gcc.gnu.org>
689
690 PR fortran/58026
691 * decl.c (gfc_match_data_decl): Improve error recovery.
692
ca5cd38f 6932014-01-09 Tobias Burnus <burnus@net-b.de>
694
695 * cpp.c (gfc_cpp_handle_option): Add missing break.
696 * trans-io.c (transfer_expr): Silence unused value warning.
697
a52fbc53 6982014-01-08 Janus Weil <janus@gcc.gnu.org>
699
700 PR fortran/58182
701 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
702
195a3a36 7032014-01-06 Janus Weil <janus@gcc.gnu.org>
704
705 PR fortran/59589
706 * class.c (comp_is_finalizable): New function to dermine if a given
707 component is finalizable.
708 (finalize_component, generate_finalization_wrapper): Use it.
709
cf3654f0 7102014-01-06 Janus Weil <janus@gcc.gnu.org>
711
712 PR fortran/59023
713 PR fortran/59662
714 * resolve.c (resolve_global_procedure): Don't apply to c-binding
715 procedures.
716 (gfc_verify_binding_labels): Remove duplicate line.
717
bd8f578b 7182014-01-04 Janus Weil <janus@gcc.gnu.org>
719
720 PR fortran/59547
721 * class.c (add_proc_comp): Copy pure attribute.
722
3aea1f79 7232014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
724
725 Update copyright years
726
d67510b9 7272014-01-02 Tobias Burnus <burnus@net-b.de>
728
729 * gfortranspec.c (lang_specific_driver): Update copyright notice
730 dates.
731 * gfc-internals.texi: Bump @copying's copyright year.
732 * gfortran.texi: Ditto.
733 * intrinsic.texi: Ditto.
734 * invoke.texi: Ditto.
735
839ddc8e 7362014-01-02 Janus Weil <janus@gcc.gnu.org>
92b18bc0 737
839ddc8e 738 PR fortran/59654
739 * resolve.c (resolve_typebound_procedures): No need to create the vtab
740 here.
7dfbd804 741\f
839ddc8e 742Copyright (C) 2014 Free Software Foundation, Inc.
7dfbd804 743
744Copying and distribution of this file, with or without modification,
745are permitted in any medium without royalty provided the copyright
746notice and this notice are preserved.