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