1 2014-06-15 Tobias Burnus <burnus@net-b.de>
3 * symbol.c (check_conflict): Add codimension conflict with
4 pointer; fix cray-pointee check.
7 2014-06-14 Tobias Burnus <burnus@net-b.de>
9 * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
10 for kind mismatch with -fcoarray=lib.
12 2014-07-12 Paul Thomas <pault@gcc.gnu.org>
15 * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
16 that elements are skipped. This then correctly aligns 'reverse'
17 with the scalarizer loops.
19 2014-07-12 Tobias Burnus <burnus@net-b.de>
22 * trans-types.c (gfc_init_types): Fix data-type bug
23 with gfc_max_array_element_size.
25 2014-07-12 Tobias Burnus <burnus@net-b.de>
27 * libgfortran.h (libcaf_atomic_codes): Add.
28 * trans-decl.c (gfor_fndecl_caf_atomic_def,
29 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
30 gfor_fndecl_caf_atomic_op): New variables.
31 (gfc_build_builtin_function_decls): Initialize them.
32 * trans.h (gfor_fndecl_caf_atomic_def,
33 gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
34 gfor_fndecl_caf_atomic_op): New variables.
35 * trans-intrinsic.c (conv_intrinsic_atomic_op,
36 conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
37 Add library calls with -fcoarray=lib.
39 2014-07-12 Tobias Burnus <burnus@net-b.de>
41 * check.c (gfc_check_atomic): Update for STAT=.
42 (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
43 (gfc_check_atomic_op, gfc_check_atomic_cas,
44 gfc_check_atomic_fetch_op): New.
45 * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
46 GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
47 GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
48 GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
49 * intrinsic.c (add_subroutines): Handle them.
50 * intrinsic.texi: Add documentation for them.
51 (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
52 (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
53 * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
54 gfc_check_atomic_fetch_op): New
56 * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
57 * iso-fortran-env.def: Add it.
58 * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
59 conv_intrinsic_atomic_ref; handle more atomics.
60 (conv_intrinsic_atomic_def): Handle STAT=.
61 (conv_intrinsic_atomic_cas): New.
62 (gfc_conv_intrinsic_subroutine): Handle new atomics.
64 2014-07-09 Bernd Schmidt <bernds@codesourcery.com>
66 * trans-array.c (gfc_build_constant_array_constructor): Build a
68 * trans-decl.c (create_main_function): Likewise.
70 2014-07-07 Paul Thomas <pault@gcc.gnu.org>
74 * trans-expr.c (fcncall_realloc_result): Use the natural type
75 for the address expression of 'res_desc'.
77 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com>
79 * gfortran.texi (Fortran 2003 status): Fix grammar.
81 2014-07-04 Tobias Burnus <burnus@net-b.de>
83 * resolve.c (resolve_assoc_var): Fix corank setting.
84 * trans-array.c (gfc_conv_descriptor_token): Change assert.
85 for select-type temporaries.
86 * trans-decl.c (generate_coarray_sym_init): Skip for
87 attr.select_type_temporary.
88 * trans-expr.c (gfc_conv_procedure_call): Fix for
89 select-type temporaries.
90 * trans-intrinsic.c (get_caf_token_offset): Ditto.
91 (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
93 * trans-types.h (gfc_get_dtype_rank_type): New.
94 * trans-types.c (gfc_get_dtype_rank_type): Ditto.
96 2014-07-03 Tobias Burnus <burnus@net-b.de>
98 * scanner.c (skip_free_comments): Fix indentation.
100 2014-07-02 Jakub Jelinek <jakub@redhat.com>
101 Fritz Reese <Reese-Fritz@zai.com>
103 * decl.c (variable_decl): Reject old style initialization
104 for derived type components.
106 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
110 * decl.c (check_bind_name_identifier): New function.
111 (gfc_match_bind_c): Match any constant expression as binding
113 * match.c (gfc_match_name_C): Remove.
115 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
118 * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
119 * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
121 * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
122 * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
123 * module.c (mio_symbol): Keep track of symbols which came from
125 (gfc_use_module): Keep track of the IEEE modules.
126 * trans-decl.c (gfc_get_symbol_decl): Adjust code since
127 we have new intrinsic modules.
128 (gfc_build_builtin_function_decls): Build decls for
129 ieee_procedure_entry and ieee_procedure_exit.
130 (is_from_ieee_module, is_ieee_module_used, save_fp_state,
131 restore_fp_state): New functions.
132 (gfc_generate_function_code): Save and restore floating-point
133 state on procedure entry/exit, when IEEE modules are used.
134 * intrinsic.texi: Document the IEEE modules.
136 2014-06-25 Tobias Burnus <burnus@net-b.de>
138 * interface.c (check_intents): Fix diagnostic with
141 2014-06-25 Tobias Burnus <burnus@net-b.de>
143 * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
144 when assigning a coindexed RHS scalar to a noncoindexed LHS
146 * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
147 for a noncoindexed scalar RHS.
149 2014-06-25 Tobias Burnus <burnus@net-b.de>
151 * check.c (check_co_minmaxsum): Add definable check.
152 * expr.c (gfc_check_vardef_context): Fix context == NULL case.
153 * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
155 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
158 2014-06-25 Jakub Jelinek <jakub@redhat.com>
160 * trans.h (gfc_omp_clause_linear_ctor): New prototype.
161 * trans-openmp.c (gfc_omp_linear_clause_add_loop,
162 gfc_omp_clause_linear_ctor): New functions.
163 (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
164 correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
165 * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
167 2014-06-24 Jakub Jelinek <jakub@redhat.com>
169 * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
171 * f95-lang.c (gfc_init_builtin_functions): Initialize
172 BUILT_IN_ASSUME_ALIGNED.
173 * gfortran.h (gfc_omp_namelist): Change udr field type to
174 struct gfc_omp_namelist_udr.
175 (gfc_omp_namelist_udr): New type.
176 (gfc_get_omp_namelist_udr): Define.
177 (gfc_resolve_code): New prototype.
178 * match.c (gfc_free_omp_namelist): Free name->udr.
179 * module.c (intrinsics): Add INTRINSIC_USER.
180 (fix_mio_expr): Likewise.
181 (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
182 * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
183 (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
184 Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
185 (struct resolve_omp_udr_callback_data): New type.
186 (resolve_omp_udr_callback, resolve_omp_udr_callback2,
187 resolve_omp_udr_clause): New functions.
188 (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
190 (omp_udr_callback): Don't check for implicitly declared functions
192 (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
193 implicitly declared subroutines here.
194 * resolve.c (resolve_function): If value.function.isym is non-NULL,
195 consider it already resolved.
196 (resolve_code): Renamed to ...
197 (gfc_resolve_code): ... this. No longer static.
198 (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
200 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
201 by reference type (C_PTR) variables.
202 (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
203 (gfc_trans_omp_udr_expr): Remove.
204 (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
205 Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
206 expand it as assignment or subroutine call. Don't initialize
209 2014-06-23 Tobias Burnus <burnus@net-b.de>
211 * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
212 explicit-size arrays with -fcoarray=lib.
214 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
217 * invoke.texi: Don't mention nonexisting -fcase-lower option.
219 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
222 * expr.c (scalarize_intrinsic_call): Take care of optional
225 2014-06-19 Tobias Burnus <burnus@net-b.de>
227 * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
230 2014-06-18 Tobias Burnus <burnus@net-b.de>
232 * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
233 * intrinsic.texi (OpenMP Modules): Ditto.
235 2014-06-18 Jakub Jelinek <jakub@redhat.com>
237 * cpp.c (cpp_define_builtins): Change _OPENMP macro to
239 * dump-parse-tree.c (show_omp_namelist): Add list_type
240 argument. Adjust for rop being u.reduction_op now,
241 handle depend_op or map_op.
242 (show_omp_node): Adjust callers. Print some new
243 OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
244 becoming a single OMP_LIST_DEPEND.
245 * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
247 (gfc_attribute_table): New variable.
248 (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
249 * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
250 EXEC_OMP_* codes and new clauses.
251 * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
252 ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
253 ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
254 ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
255 ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
256 ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
257 ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
258 ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
259 ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
260 ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
261 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
262 ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
263 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
264 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
265 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
266 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
267 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
268 ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
269 ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
270 ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
271 ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
272 (symbol_attribute): Add omp_declare_target field.
273 (gfc_omp_depend_op, gfc_omp_map_op): New enums.
274 (gfc_omp_namelist): Replace rop field with union
275 containing reduction_op, depend_op and map_op.
276 (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
277 (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
278 (gfc_omp_clauses): Add num_teams, device, thread_limit,
279 dist_sched_kind, dist_chunk_size fields.
280 (gfc_common_head): Add omp_declare_target field.
281 (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
282 EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
283 EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
284 EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
285 EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
286 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
287 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
288 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
289 EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
290 EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
291 EXEC_OMP_TARGET_UPDATE.
292 (gfc_add_omp_declare_target): New prototype.
293 * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
294 gfc_match_omp_distribute_parallel_do,
295 gfc_match_omp_distribute_parallel_do_simd,
296 gfc_match_omp_distribute_simd, gfc_match_omp_target,
297 gfc_match_omp_target_data, gfc_match_omp_target_teams,
298 gfc_match_omp_target_teams_distribute,
299 gfc_match_omp_target_teams_distribute_parallel_do,
300 gfc_match_omp_target_teams_distribute_parallel_do_simd,
301 gfc_match_omp_target_teams_distribute_simd,
302 gfc_match_omp_target_update, gfc_match_omp_teams,
303 gfc_match_omp_teams_distribute,
304 gfc_match_omp_teams_distribute_parallel_do,
305 gfc_match_omp_teams_distribute_parallel_do_simd,
306 gfc_match_omp_teams_distribute_simd): New prototypes.
307 * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
308 (attr_bits): Likewise.
309 (mio_symbol_attribute): Handle omp_declare_target attribute.
310 (gfc_free_omp_clauses): Free num_teams, device, thread_limit
311 and dist_chunk_size expressions.
312 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
313 OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
314 OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
315 OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
316 OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
317 OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
318 OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
319 OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
320 OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
321 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
322 OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
323 OMP_CLAUSE_DIST_SCHEDULE): Define.
324 (gfc_match_omp_clauses): Change mask parameter to unsigned int.
325 Adjust for rop becoming u.reduction_op. Disallow inbranch with
326 notinbranch. For depend clause, always create OMP_LIST_DEPEND
327 and fill in u.depend_op. Handle num_teams, device, map,
328 to, from, thread_limit and dist_schedule clauses.
329 (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
330 OMP_CLAUSE_NOTINBRANCH.
331 (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
332 OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
333 OMP_DISTRIBUTE_CLAUSES): Define.
334 (match_omp): New function.
335 (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
336 gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
337 gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
338 gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
339 gfc_match_omp_task): Rewritten using match_omp.
340 (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
341 Diagnose if the directives are followed by unexpected junk.
342 (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
343 gfc_match_omp_distribute_parallel_do_simd,
344 gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
345 gfc_match_omp_target, gfc_match_omp_target_data,
346 gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
347 gfc_match_omp_target_teams_distribute_parallel_do,
348 gfc_match_omp_target_teams_distribute_parallel_do_simd,
349 gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
350 gfc_match_omp_teams, gfc_match_omp_teams_distribute,
351 gfc_match_omp_teams_distribute_parallel_do,
352 gfc_match_omp_teams_distribute_parallel_do_simd,
353 gfc_match_omp_teams_distrbute_simd): New functions.
354 * openmp.c (resolve_omp_clauses): Adjust for
355 OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle
356 OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
357 dist_chunk_size and thread_limit.
358 (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
359 ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various
360 new EXEC_OMP_* codes.
361 (resolve_omp_do): Handle various new EXEC_OMP_* codes.
362 (gfc_resolve_omp_directive): Likewise.
363 (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
364 * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
365 offloading related directives.
366 (case_executable): Add ST_OMP_TARGET_UPDATE.
367 (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
369 (case_decl): Add ST_OMP_DECLARE_TARGET.
370 (gfc_ascii_statement): Handle new ST_OMP_* codes.
371 (parse_omp_do): Handle various new ST_OMP_* codes.
372 (parse_executable): Likewise.
373 * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
375 (resolve_code): Likewise.
376 (resolve_symbol): Change that !$OMP DECLARE TARGET variables
378 * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
379 * symbol.c (check_conflict): Check omp_declare_target conflicts.
380 (gfc_add_omp_declare_target): New function.
381 (gfc_copy_attr): Copy omp_declare_target.
382 * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
383 * trans-common.c (build_common_decl): Add "omp declare target"
385 * trans-decl.c (add_attributes_to_decl): Likewise.
386 * trans.h (gfc_omp_finish_clause): New prototype.
387 * trans-openmp.c (gfc_omp_finish_clause): New function.
388 (gfc_trans_omp_reduction_list): Adjust for rop being renamed
390 (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
391 change to OMP_LIST_DEPEND and fix up depend handling.
392 Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
393 thread_limit, device, dist_chunk_size and dist_sched_kind.
394 (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
395 (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
396 GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
397 GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
398 (gfc_split_omp_clauses): Handle splitting of clauses for new
400 (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
401 callable for combined constructs.
402 (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
403 (gfc_trans_omp_distribute, gfc_trans_omp_teams,
404 gfc_trans_omp_target, gfc_trans_omp_target_data,
405 gfc_trans_omp_target_update): New functions.
406 (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
407 new EXEC_OMP_* codes.
409 2014-06-18 Tobias Burnus <burnus@net-b.de>
412 * invoke.texi (-Wunused-parameter): Make clearer when
413 -Wextra implies this option.
415 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
418 * options.c (gfc_handle_option): Remove call to
419 handle_generated_option.
421 2014-06-17 Tobias Burnus <burnus@net-b.de>
423 * check.c (gfc_check_atomic, gfc_check_atomic_def):
424 Use argument for GFC_ISYM_CAF_GET.
425 * resolve.c (resolve_variable): Enable CAF_GET insertion.
426 (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
427 (resolve_ordinary_assign): Enable CAF_SEND insertion.
428 * trans-const.c (gfc_build_string_const,
429 gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
430 * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
431 gfor_fndecl_caf_sendget): New global variables.
432 (gfc_build_builtin_function_decls): Initialize them;
433 update co_min/max/sum initialization.
434 * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
435 get_tree_for_caf_expr and removed static.
436 (gfc_conv_procedure_call): Update call.
437 * trans-intrinsic.c (caf_get_image_index,
438 conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
439 get_caf_token_offset, gfc_conv_intrinsic_caf_get,
441 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
442 gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
443 (conv_co_minmaxsum): Update call for remove unused vector
445 (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
446 Skip a CAF_GET of the argument.
447 * trans-types.c (gfc_get_caf_vector_type): New.
448 * trans-types.h (gfc_get_caf_vector_type): New.
449 * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
450 gfor_fndecl_caf_sendget): New global variables.
451 (gfc_get_tree_for_caf_expr): New prototypes.
453 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
455 * trans-common.c (build_common_decl): Use
457 * trans-decl.c (gfc_finish_var_decl): Likewise.
458 (get_proc_pointer_decl): Likewise.
460 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
464 * check.c (gfc_check_system_clock): Improve checking of arguments.
465 * intrinsic.texi: Update doc of SYSTEM_CLOCK.
466 * iresolve.c (gfc_resolve_system_clock): Choose library function
467 used depending on argument kinds.
468 * trans-decl.c (gfc_build_intrinsic_function_decls): Build
469 decls for system_clock_4 and system_clock_8.
470 * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
471 (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
472 * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
475 2014-06-12 Tobias Burnus <burnus@net-b.de>
477 * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
478 * symbol.c (gfc_copy_formal_args_intr): Handle the case
479 that absent optional arguments should be ignored.
480 * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
481 (gfc_conv_intrinsic_funcall,
482 conv_generic_with_optional_char_arg): Update call.
483 * resolve.c (gfc_resolve_intrinsic): Ditto.
485 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr>
486 Mikael Morin <mikael@gcc.gnu.org>
489 * trans-expr.c (gfc_conv_expr_reference): Deallocate array
492 2014-06-10 Jakub Jelinek <jakub@redhat.com>
495 * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
497 * openmp.c (resolve_omp_clauses): Remove allocatable components
498 diagnostics. Add associate-name and intent(in) pointer
499 diagnostics for various clauses, diagnose procedure pointers in
501 * parse.c (match_word_omp_simd): New function.
502 (matchs, matcho): New macros.
503 (decode_omp_directive): Change match macros to either matchs
504 or matcho. Handle -fopenmp-simd.
505 (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
506 * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
508 * trans-array.c (get_full_array_size): Rename to...
509 (gfc_full_array_size): ... this. No longer static.
510 (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument
512 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
513 duplicate_allocatable callers.
514 (gfc_duplicate_allocatable_nocopy): New function.
515 (structure_alloc_comps): Adjust g*_full_array_size and
516 duplicate_allocatable caller.
517 * trans-array.h (gfc_full_array_size,
518 gfc_duplicate_allocatable_nocopy): New prototypes.
519 * trans-common.c (create_common): Call gfc_finish_decl_attrs.
520 * trans-decl.c (gfc_finish_decl_attrs): New function.
521 (gfc_finish_var_decl, create_function_arglist,
522 gfc_get_fake_result_decl): Call it.
523 (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
524 don't allocate it again.
525 (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
527 * trans.h (gfc_finish_decl_attrs): New prototype.
528 (struct lang_decl): Add scalar_allocatable and scalar_pointer
530 (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
531 GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
532 GFC_DECL_ASSOCIATE_VAR_P): Define.
533 (GFC_POINTER_TYPE_P): Remove.
534 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
535 GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
536 GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
537 (gfc_omp_predetermined_sharing): Associate-names are predetermined.
538 (enum walk_alloc_comps): New.
539 (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
540 gfc_walk_alloc_comps): New functions.
541 (gfc_omp_private_outer_ref): Return true for scalar allocatables or
542 decls with allocatable components.
543 (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
544 gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
545 allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
546 allocatables and decls with allocatable components.
547 (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
549 (gfc_trans_omp_reduction_list): Call
550 gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
551 (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
552 (gfc_trans_omp_parallel_do_simd): Likewise.
553 * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
554 (gfc_get_derived_type): Call gfc_finish_decl_attrs.
556 2014-06-09 Paul Thomas <pault@gcc.gnu.org>
559 * trans-stmt.c (trans_associate_var): Check that array
560 constructors are constant for direct reference.
562 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
565 * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
566 BESSEL_Y0, and BESSEL_Y1.
568 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
571 * trans-decl.c (gfc_create_module_variable): Don't create
572 Cray-pointee decls twice.
574 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
576 * io.c (resolve_tag): Warn on non-default kind for NUMBER,
577 NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
579 2014-06-06 Jakub Jelinek <jakub@redhat.com>
581 * dump-parse-tree.c (show_omp_namelist): Dump reduction
582 id in each list item.
583 (show_omp_node): Only handle OMP_LIST_REDUCTION, not
584 OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't
585 dump reduction id here.
586 * frontend-passes.c (dummy_code_callback): Renamed to...
587 (gfc_dummy_code_callback): ... this. No longer static.
588 (optimize_reduction): Use gfc_dummy_code_callback instead of
590 * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
591 (symbol_attribute): Add omp_udr_artificial_var bitfield.
592 (gfc_omp_reduction_op): New enum.
593 (gfc_omp_namelist): Add rop and udr fields.
594 (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
595 OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
596 OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
597 OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
598 (OMP_LIST_REDUCTION): New.
599 (gfc_omp_udr): New type.
600 (gfc_get_omp_udr): Define.
601 (gfc_symtree): Add n.omp_udr field.
602 (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
603 (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
604 gfc_dummy_code_callback): New prototypes.
605 * match.h (gfc_match_omp_declare_reduction): New prototype.
606 * module.c (MOD_VERSION): Increase to 13.
607 (omp_declare_reduction_stmt): New array.
608 (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
610 (read_module): Read OpenMP user defined reductions.
611 (write_module): Write OpenMP user defined reductions.
612 * openmp.c: Include arith.h.
613 (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
614 (gfc_match_omp_clauses): Handle user defined reductions.
615 Store reduction kind into gfc_omp_namelist instead of using
616 several OMP_LIST_* entries.
617 (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
618 gfc_match_omp_declare_reduction): New functions.
619 (resolve_omp_clauses): Adjust for reduction clauses being only
620 in OMP_LIST_REDUCTION list. Diagnose missing UDRs.
621 (struct omp_udr_callback_data): New type.
622 (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
624 * parse.c (decode_omp_directive): Handle !$omp declare reduction.
625 (case_decl): Add ST_OMP_DECLARE_REDUCTION.
626 (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
627 * resolve.c (resolve_fl_variable): Allow len=: or len=* on
628 sym->attr.omp_udr_artificial_var symbols.
629 (resolve_types): Call gfc_resolve_omp_udrs.
630 * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
631 use parent ns instead of gfc_current_ns.
632 (gfc_get_sym_tree): Don't insert symbols into
633 namespaces with omp_udr_ns set.
634 (free_omp_udr_tree): New function.
635 (gfc_free_namespace): Call it.
636 * trans-openmp.c (struct omp_udr_find_orig_data): New type.
637 (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
638 (gfc_trans_omp_array_reduction): Renamed to...
639 (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM
640 argument, instead pass gfc_omp_namelist pointer N. Handle
641 user defined reductions.
642 (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
643 Handle user defined reductions and reduction ops in gfc_omp_namelist.
644 (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
646 (gfc_split_omp_clauses): Likewise.
648 2014-06-05 Richard Biener <rguenther@suse.de>
651 * gfortranspec.c (spec_file): Remove.
652 (find_spec_file): Likewise.
653 (lang_specific_driver): Do not look for specs file in -L
654 or append -specs command line argument.
655 (lang_specific_pre_link): Always %:include libgfortran.spec.
657 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
659 * fortran/trans.c (trans_runtime_error_vararg): Call
660 fold_build_call_array_loc instead of fold_builtin_call_array.
662 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
664 * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
665 arguments to caf_init.
667 2014-05-26 Tobias Burnus <burnus@net-b.de>
669 * gfortran.texi (Project Status): Fix broken link.
671 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
674 * intrinsics.texi (CTIME): Remove mention of locale-dependent
677 2014-05-26 Tobias Burnus <burnus@net-b.de>
680 * trans-io.c (nml_full_name, transfer_namelist_element): Insert
681 a '+' rather then '%' to differentiate namelist variable names
682 that are based on extended derived types.
684 2014-05-25 Tobias Burnus <burnus@net-b.de>
686 * check.c (gfc_check_num_images): New.
687 (gfc_check_this_image): Handle distance argument.
688 * intrinsic.c (add_functions): Update this_image and num_images
689 for new distance and failed arguments.
690 * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
692 * intrinsic.h (gfc_check_num_images): New.
693 (gfc_check_this_image, gfc_simplify_num_images,
694 gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
695 * iresolve.c (gfc_resolve_this_image): Handle distance argument.
696 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
697 Handle new arguments.
698 * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
699 (gfc_conv_intrinsic_function): Update trans_num_images call.
701 2014-05-23 Tobias Burnus <burnus@net-b.de>
703 * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
704 * gfortran.texi: Ditto.
706 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
708 * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
709 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
710 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
711 * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
713 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
715 * f95-lang.c (pushlevel): Adjust.
716 * trans-decl.c (gfc_allocate_lang_decl): Adjust.
717 (gfc_find_module): Likewise.
718 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
719 (gfc_get_array_type_bounds): Likewise.
720 (gfc_nonrestricted_type): Likewise.
721 * trans.h: Don't use variable_size gty attribute.
723 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
725 * check.c (gfc_check_fn_rc2008): move "argument" to the right
728 2014-05-12 Tobias Burnus <burnus@net-b.de>
731 * openmp.c (resolve_omp_do): Reject do concurrent loops.
733 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
736 * frontend-passes.c (in_assoc_list): New variable.
737 (optimize_namespace): Initialize in_assoc_list
738 (combine_array_constructor): Don't try to combine
740 (gfc_code_walker): Keep track of in_assoc_list.
742 2014-05-11 Jakub Jelinek <jakub@redhat.com>
744 * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
745 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
746 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
747 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
749 (gfc_omp_namelist): New typedef.
750 (gfc_get_omp_namelist): Define.
751 (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
752 OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
753 (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
754 (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
755 Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
757 (gfc_omp_declare_simd): New typedef.
758 (gfc_get_omp_declare_simd): Define.
759 (gfc_namespace): Add omp_declare_simd field.
760 (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
761 EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
762 EXEC_OMP_PARALLEL_DO_SIMD.
763 (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
764 and GFC_OMP_ATOMIC_SWAP.
765 (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
766 (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
767 gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
769 * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
770 * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
771 * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
772 simdlen_expr. Use gfc_free_omp_namelist instead of
774 (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
776 (gfc_match_omp_variable_list): Add end_colon, headp and
777 allow_sections arguments. Handle parsing of array sections.
778 Use *omp_namelist* instead of *namelist* data structure and
779 functions/macros. Allow termination at : character.
780 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
781 OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
782 OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
783 (gfc_match_omp_clauses): Change first and needs_space variables
784 into arguments with default values. Parse inbranch, notinbranch,
785 proc_bind, safelen, simdlen, uniform, linear, aligned and
787 (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
788 (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
789 (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
790 (gfc_match_omp_do_simd): New function.
791 (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
792 data structure and functions/macros.
793 (gfc_match_omp_simd, gfc_match_omp_declare_simd,
794 gfc_match_omp_parallel_do_simd): New functions.
795 (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
796 (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
797 gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
799 (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
800 Use *omp_namelist* instead of *namelist* data structure and
801 functions/macros. Resolve uniform, aligned, linear, depend,
802 safelen and simdlen clauses.
803 (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
804 addition, recognize atomic swap.
805 (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
806 of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
807 EXEC_OMP_PARALLEL_DO.
808 (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
809 data structure and functions/macros.
810 (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
811 EXEC_OMP_PARALLEL_DO_SIMD.
812 (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
813 EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
814 resolve_omp_clauses caller.
815 (gfc_resolve_omp_declare_simd): New function.
816 * parse.c (decode_omp_directive): Parse cancellation point, cancel,
817 declare simd, end do simd, end simd, end parallel do simd,
818 end taskgroup, parallel do simd, simd and taskgroup directives.
819 (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
820 (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
821 ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
822 (case_decl): Add ST_OMP_DECLARE_SIMD.
823 (gfc_ascii_statement): Handle ST_OMP_CANCEL,
824 ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
825 ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
826 ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
828 (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
829 ST_OMP_PARALLEL_DO_SIMD.
830 (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
831 (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
832 ST_OMP_PARALLEL_DO_SIMD.
833 (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
834 ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
835 * trans-decl.c (gfc_get_extern_function_decl,
836 gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
838 * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
839 EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
840 safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
841 of depend, aligned and linear clauses.
842 * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
843 and EXEC_OMP_PARALLEL_DO_SIMD.
844 (gfc_free_omp_namelist): New function.
845 * dump-parse-tree.c (show_namelist): Removed.
846 (show_omp_namelist): New function.
847 (show_omp_node): Handle OpenMP 4.0 additions.
848 (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
849 EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
851 * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
852 gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
853 gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
854 gfc_match_omp_taskgroup): New prototypes.
855 * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
856 argument, handle it. Allow current_function_decl to be NULL.
857 (gfc_trans_omp_variable_list): Add declare_simd argument, pass
858 it through to gfc_trans_omp_variable and disregard whether
859 sym is referenced if declare_simd is true. Work on gfc_omp_namelist
860 instead of gfc_namelist.
861 (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
862 gfc_namelist. Adjust gfc_trans_omp_variable caller.
863 (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
864 to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
865 instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
866 simdlen, depend, uniform, linear, proc_bind and aligned clauses.
868 (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
869 adjust for GFC_OMP_ATOMIC_* changes.
870 (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
872 (gfc_trans_omp_do): Add op argument, handle simd translation into
874 (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
875 GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
876 GFC_OMP_MASK_PARALLEL): New.
877 (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
878 (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
879 (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
881 (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
882 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
883 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
884 Adjust gfc_trans_omp_do caller.
885 (gfc_trans_omp_declare_simd): New function.
886 * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
887 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
888 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
889 For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
891 * module.c (omp_declare_simd_clauses): New variable.
892 (mio_omp_declare_simd): New function.
893 (mio_symbol): Call it.
894 * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
895 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
896 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
897 * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
898 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
899 (resolve_code): Handle EXEC_OMP_CANCEL,
900 EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
901 EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
902 (resolve_types): Call gfc_resolve_omp_declare_simd.
904 2014-05-11 Tobias Burnus <burnus@net-b.de>
906 * trans-intrinsic.c (gfc_build_builtin_function_decls):
907 Change type of second argument to int.
909 2014-05-09 Mike Stump <mikestump@comcast.net>
912 * trans-array.c (gfc_conv_array_initializer): Fix wide-int
915 2014-05-08 Tobias Burnus <burnus@net-b.de>
917 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
918 and GFC_ISYM_CAF_SEND.
919 * intrinsic.c (add_functions): Add only internally
920 accessible caf_get and caf_send functions.
921 * resolve.c (add_caf_get_intrinsic,
922 remove_caf_get_intrinsic): New functions.
923 (resolve_variable): Resolve expression rank and
924 prepare for add_caf_get_intrinsic call.
925 (gfc_resolve_expr): For variables, remove rank
927 (resolve_ordinary_assign): Prepare call to
929 (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
930 the LHS of an assignment.
932 2014-05-08 Tobias Burnus <burnus@net-b.de>
934 * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
936 2014-05-08 Tobias Burnus <burnus@net-b.de>
938 * check.c (check_co_minmaxsum, gfc_check_co_minmax,
939 gfc_check_co_sum): New.
940 * error.c (gfc_notify_std): Update -std=f2008ts.
941 * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
942 GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
943 * intrinsic.h (gfc_check_co_minmax,
944 gfc_check_co_sum): Declare.
945 * intrinsic.c (add_subroutines): Add co_min, co_max
947 (gfc_check_intrinsic_standard): Update text for
949 * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
951 * invoke.texi (-std=f2008ts): Update wording.
952 * trans.h (gfor_fndecl_co_max,
953 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
954 * trans-decl.c (gfor_fndecl_co_max,
955 gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
956 (gfc_build_builtin_function_decls): Assign to it.
957 * trans-intrinsic.c (conv_co_minmaxsum): New.
958 (gfc_conv_intrinsic_subroutine): Call it.
960 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
961 Mike Stump <mikestump@comcast.net>
962 Richard Sandiford <rdsandiford@googlemail.com>
964 * target-memory.c: Include wide-int.h.
965 (gfc_interpret_logical): Use wide-int interfaces.
966 * trans-array.c: Include wide-int.h.
967 (gfc_conv_array_initializer): Use wide-int interfaces.
968 * trans-const.c: Include wide-int.h.
969 (gfc_conv_string_init): Use wide-int interfaces.
970 (gfc_conv_mpz_to_tree): Likewise.
971 (gfc_conv_tree_to_mpz): Likewise.
972 * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
973 * trans-expr.c: Include wide-int.h.
974 (gfc_conv_cst_int_power): Use wide-int interfaces.
975 (gfc_string_to_single_character): Likewise.
976 (gfc_optimize_len_trim): Likewise.
977 * trans-intrinsic.c: Include wide-int.h.
978 (trans_this_image): Use wide-int interfaces.
979 (gfc_conv_intrinsic_bound): Likewise.
980 (conv_intrinsic_cobound): Likewise.
981 * trans-types.c (gfc_init_types): Likewise.
982 (gfc_get_array_type_bounds): Pass an integer of the correct type
983 instead of using integer_one_node.
985 2014-04-30 Tobias Burnus <burnus@net-b.de>
987 * trans-decl.c (create_function_arglist): Add hidden coarray arguments
988 also for polymorphic coarrays.
989 * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
990 also for polymorphic coarrays.
992 2014-04-30 Tobias Burnus <burnus@net-b.de>
994 * resolve.c (resolve_function): Don't do
995 assumed-size check for lcobound/ucobound.
996 * trans-types.c (gfc_build_array_type): Only build an array
997 descriptor with codimensions for allocatable coarrays.
999 2014-04-30 Tobias Burnus <burnus@net-b.de>
1001 * gfortran.h (gfc_init_coarray_decl): Remove.
1002 * parse.c (translate_all_program_units): Remove call to it.
1003 (gfc_parse_file): Update call.
1004 * trans.h (gfor_fndecl_caf_this_image,
1005 gfor_fndecl_caf_num_images): Add.
1006 (gfort_gvar_caf_num_images,
1007 gfort_gvar_caf_this_image): Remove.
1008 * trans-decl.c (gfor_fndecl_caf_this_image,
1009 gfor_fndecl_caf_num_images): Add.
1010 (gfort_gvar_caf_num_images,
1011 gfort_gvar_caf_this_image): Remove.
1012 (gfc_build_builtin_function_decls): Init new decl.
1013 (gfc_init_coarray_dec): Remove.
1014 (create_main_function): Change calls.
1015 * trans-intrinsic.c (trans_this_image, trans_image_index,
1016 conv_intrinsic_cobound): Generate call to new library function
1017 instead of to a static variable.
1018 * trans-stmt.c (gfc_trans_sync): Ditto.
1020 2014-04-30 Tobias Burnus <burnus@net-b.de>
1022 * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
1023 and derived-type coarrays.
1025 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1029 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
1030 * arith.c (gfc_int2int): Convert number to signed if
1031 arithmetic overflow is not checked.
1032 * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
1033 size if range checking is in force.
1034 (convert_mpz_to_signed): Make non-static, rename to
1035 (gfc_convert_mpz_to_signed).
1036 (simplify_dshift): Use gfc_convert_mpz_to_signed.
1037 (gfc_simplify_ibclr): Likewise.
1038 (gfc_simplify_ibits): Likewise.
1039 (gfc_simplify_ibset): Likewise.
1040 (simplify_shift): Likewise.
1041 (gfc_simplify_ishiftc): Likewise.
1042 (gfc_simplify_maskr): Likewise.
1043 (gfc_simplify_maskl): Likewise.
1045 2014-04-22 Tobias Burnus <burnus@net-b.de>
1048 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
1051 2014-04-17 Jakub Jelinek <jakub@redhat.com>
1053 * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
1054 argument is enum machine_mode.
1056 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
1060 * trans.h: Add 'use_offset' bitfield to gfc_se.
1061 * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
1062 as a trigger to unconditionally recalculate the offset for
1063 array slices and constant arrays.
1064 trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
1065 trans-stmt.c (trans_associate_var): Ditto.
1066 (gfc_conv_procedure_call): Ditto.
1068 2014-04-11 Tobias Burnus <burnus@net-b.de>
1072 * resolve.c (gfc_resolve_finalizers): Ensure that vtables
1073 and finalization wrappers are generated.
1075 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
1077 * intrinsic.texi (RANDOM_SEED): Improve example.
1079 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
1081 * class.c (gfc_build_class_symbol): Append "_t" to target class
1082 names to make the generated type names unique.
1084 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1087 * trans-types.c (gfc_get_function_type): In case of recursion
1088 build a variadic function type with empty argument list instead of a
1089 stdarg-like function type with incomplete argument list.
1091 2014-04-04 Tobias Burnus <burnus@net-b.de>
1093 * check.c (gfc_check_cmplx): Fix typo.
1095 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1096 Tobias Burnus <burnus@net-b.de>
1099 * trans-expr.c (gfc_conv_derived_to_class): Avoid
1100 generation of out-of-bounds range expr.
1102 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
1105 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
1108 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1111 * frontend-passes.c (cfe_code): Do not walk subtrees
1114 2014-03-27 Tobias Burnus <burnus@net-b.de>
1117 * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
1120 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
1123 * fortran.texi: Document Volatile COMMON as not supported.
1125 2014-03-22 Jakub Jelinek <jakub@redhat.com>
1128 * cpp.c (gfc_cpp_init): Restore cb_change_file call to
1131 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1134 * gfortran.texi: Add description of namelist DELIM= behavior.
1136 2014-03-19 Tobias Burnus <burnus@net-b.>
1139 * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
1140 * resolve.c (resolve_ordinary_assign): Ditto.
1142 2014-03-19 Tobias Burnus <burnus@net-b.de>
1146 * gfortran.h (gfc_unset_implicit_pure): New prototype.
1147 * resolve.c (gfc_unset_implicit_pure): New.
1148 (resolve_structure_cons, resolve_function,
1149 pure_subroutine): Use it.
1150 * decl.c (match_old_style_init, gfc_match_data,
1151 match_pointer_init, variable_decl): Ditto.
1152 * expr.c (gfc_check_pointer_assign): Ditto.
1153 * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
1154 * io.c (match_vtag, gfc_match_open, gfc_match_close,
1155 match_filepos, gfc_match_inquire, gfc_match_print,
1156 gfc_match_wait): Ditto.
1157 * match.c (gfc_match_critical, gfc_match_stopcode,
1158 lock_unlock_statement, sync_statement, gfc_match_allocate,
1159 gfc_match_deallocate): Ditto.
1160 * parse.c (decode_omp_directive): Ditto.
1161 * symbol.c (gfc_add_save): Ditto.
1163 2014-03-18 Janus Weil <janus@gcc.gnu.org>
1167 * decl.c (match_attr_spec): Revert r208590.
1169 2014-03-18 Jakub Jelinek <jakub@redhat.com>
1172 * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
1175 2014-03-18 Tobias Burnus <burnus@net-b.de>
1178 * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
1179 (gfc_trans_io_runtime_check): Remove.
1180 * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
1181 as argument, add predictor to block.
1182 (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
1183 gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
1184 * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
1185 (gfc_trans_runtime_check, gfc_allocate_using_malloc,
1186 gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
1188 * trans-expr.c (gfc_conv_procedure_call): Ditto.
1189 * trans-stmt.c (gfc_trans_allocate): Ditto.
1190 * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
1192 2014-03-15 Janus Weil <janus@gcc.gnu.org>
1195 * decl.c (match_attr_spec): Variables in the main program implicitly
1196 get the SAVE attribute in Fortran 2008.
1198 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
1201 * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
1202 if it has transposed dimensions.
1204 2014-03-08 Tobias Burnus <burnus@net-b.de>
1207 * f95-lang.c (gfc_init): Return false when only
1209 * options.c (gfc_post_options): Ditto.
1211 2014-03-08 Tobias Burnus <burnus@net-b.de>
1213 * gfortran.texi (Fortran 2003 Status): Mention finalization,
1214 deferred-length character support and input rounding.
1215 (Fortran 2008 Status): Mention that at termination
1216 signalling exceptions are shown.
1218 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
1219 Janus Weil <janus@gcc.gnu.org>
1222 * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
1223 * primary.c (build_actual_constructor): It is not an error if
1224 a missing component has the deferred_parameter attribute;
1225 equally, if one is given a value, it is an error.
1226 * resolve.c (resolve_fl_derived0): Remove error for deferred
1227 character length components. Add the hidden string length
1228 field to the structure. Give it the deferred_parameter
1230 * trans-array.c (duplicate_allocatable): Add a strlen field
1231 which is used as the element size if it is non-null.
1232 (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
1233 NULL to the new argument in duplicate_allocatable.
1234 (structure_alloc_comps): Set the hidden string length as
1235 appropriate. Use it in calls to duplicate_allocatable.
1236 (gfc_alloc_allocatable_for_assignment): When a deferred length
1237 backend declaration is variable, use that; otherwise use the
1238 string length from the expression evaluation.
1239 * trans-expr.c (gfc_conv_component_ref): If this is a deferred
1240 character length component, the string length should have the
1241 value of the hidden string length field.
1242 (gfc_trans_subcomponent_assign): Set the hidden string length
1243 field for deferred character length components. Allocate the
1244 necessary memory for the string.
1245 (alloc_scalar_allocatable_for_assignment): Same change as in
1246 gfc_alloc_allocatable_for_assignment above.
1247 * trans-stmt.c (gfc_trans_allocate): Likewise.
1248 * trans-intrinsic (size_of_string_in_bytes): Make non-static.
1249 * trans-types.c (gfc_get_derived_type): Set the tree type for
1250 a deferred character length component.
1251 * trans.c (gfc_deferred_strlen): New function.
1252 * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
1254 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
1257 * frontend-passes.c (optimize_comparison): Guard two union accesses
1258 with the corresponding tag checks.
1260 2014-02-28 Janus Weil <janus@gcc.gnu.org>
1263 * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
1264 procedure for characters.
1266 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1269 * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
1272 2014-02-21 Janus Weil <janus@gcc.gnu.org>
1275 * gfortran.h (gfc_build_class_symbol): Removed argument.
1276 * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
1277 (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
1278 delayed now, except for unlimited polymorphics.
1279 (comp_is_finalizable): Procedure pointer components are not finalizable.
1280 * decl. (build_sym, build_struct, attr_decl1): Removed argument of
1281 'gfc_build_class_symbol'.
1282 * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
1284 * symbol.c (gfc_set_default_type): Ditto.
1286 2014-02-19 Janus Weil <janus@gcc.gnu.org>
1289 * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
1290 functions, which are used as procedure pointer target.
1292 2014-02-18 Tobias Burnus <burnus@net-b.de>
1295 * expr.c (gfc_check_pointer_assign): Add check for
1297 * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
1298 decl in a corner case.
1300 2014-02-18 Janus Weil <janus@gcc.gnu.org>
1303 * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
1304 arguments to prevent ICE.
1306 2014-02-17 Janus Weil <janus@gcc.gnu.org>
1309 * resolve.c (build_default_init_expr): Don't initialize character
1310 variable if -fno-automatic is given.
1312 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
1315 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
1316 number of arguments.
1318 2014-02-11 Jakub Jelinek <jakub@redhat.com>
1321 * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
1322 on decl if sym->attr.optional.
1324 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1327 * resolve.c (resolve_assoc_var): Set the subref_array_pointer
1328 attribute for the 'associate-name' if necessary.
1329 * trans-stmt.c (trans_associate_var): If the 'associate-name'
1330 is a subref_array_pointer, assign the element size of the
1331 associate variable to 'span'.
1333 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
1336 * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
1337 actual argument to a formal argument with the value attribute
1338 in an elemental procedure.
1340 2014-02-08 Janus Weil <janus@gcc.gnu.org>
1341 Mikael Morin <mikael.morin@gcc.gnu.org>
1344 * class.c (generate_finalization_wrapper): Assert that proc_tree has
1345 been set in gfc_resolve_finalizers.
1346 * resolve.c (resolve_fl_derived0): Remove unnecessary call to
1349 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
1351 PR translation/52289
1352 * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
1353 in an error message.
1355 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
1358 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
1361 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
1364 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
1365 SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
1366 pointer to the string is stored.
1367 * trans-expr.c (gfc_conv_expr_reference): Likewise, use
1368 gfc_conv_string_parameter to ensure that a pointer to is passed
1369 to the elemental function.
1371 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
1374 * trans-stmt.c (gfc_trans_allocate): Before the pointer
1375 assignment to transfer the source _vptr to a class allocate
1376 expression, the final class reference should be exposed. The
1377 tail that includes the _data and array references is stored.
1378 This reduced expression is transferred to 'lhs' and the _vptr
1379 added. Then the tail is restored to the allocate expression.
1381 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
1384 * module.c (read_module): Assert for component name correctness.
1386 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
1389 * module.c (MOD_VERSION): Bump.
1390 (fp2, find_pointer2): Remove.
1391 (mio_component_ref): Don't forcedfully set the containing derived type
1392 symbol for loading. Remove unused argument.
1393 (mio_ref): Update caller
1394 (mio_symbol): Dump component list earlier.
1395 (skip_list): New argument nest_level. Initialize level with the new
1397 (read_module): Add forced pointer components association for derived
1400 2014-01-12 Janus Weil <janus@gcc.gnu.org>
1403 * decl.c (gfc_match_data_decl): Improve error recovery.
1405 2014-01-09 Tobias Burnus <burnus@net-b.de>
1407 * cpp.c (gfc_cpp_handle_option): Add missing break.
1408 * trans-io.c (transfer_expr): Silence unused value warning.
1410 2014-01-08 Janus Weil <janus@gcc.gnu.org>
1413 * resolve.c (gfc_verify_binding_labels): Modify order of checks.
1415 2014-01-06 Janus Weil <janus@gcc.gnu.org>
1418 * class.c (comp_is_finalizable): New function to dermine if a given
1419 component is finalizable.
1420 (finalize_component, generate_finalization_wrapper): Use it.
1422 2014-01-06 Janus Weil <janus@gcc.gnu.org>
1426 * resolve.c (resolve_global_procedure): Don't apply to c-binding
1428 (gfc_verify_binding_labels): Remove duplicate line.
1430 2014-01-04 Janus Weil <janus@gcc.gnu.org>
1433 * class.c (add_proc_comp): Copy pure attribute.
1435 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1437 Update copyright years
1439 2014-01-02 Tobias Burnus <burnus@net-b.de>
1441 * gfortranspec.c (lang_specific_driver): Update copyright notice
1443 * gfc-internals.texi: Bump @copying's copyright year.
1444 * gfortran.texi: Ditto.
1445 * intrinsic.texi: Ditto.
1446 * invoke.texi: Ditto.
1448 2014-01-02 Janus Weil <janus@gcc.gnu.org>
1451 * resolve.c (resolve_typebound_procedures): No need to create the vtab
1454 Copyright (C) 2014 Free Software Foundation, Inc.
1456 Copying and distribution of this file, with or without modification,
1457 are permitted in any medium without royalty provided the copyright
1458 notice and this notice are preserved.