1 2015-02-05 Paul Thomas <pault@gcc.gnu.org>
4 * resolve.c (resolve_structure_cons): Obtain the rank of class
6 * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
7 assignment to allocatable class array components.
8 (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
9 is a class component, allocate to the _data field.
10 (gfc_trans_subcomponent_assign): If a class component with a
11 derived type expression set the _vptr field and for array
12 components, call gfc_trans_alloc_subarray_assign. For scalars,
13 the assignment is performed here.
15 2015-02-04 Jakub Jelinek <jakub@redhat.com>
17 * options.c: Include langhooks.h.
18 (gfc_post_options): Change lang_hooks.name based on
21 2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
23 * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
25 2015-01-30 Andre Vehreschild <vehre@gmx.de>
27 * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
28 * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
29 Fixed datatype of charlen to be a 32-bit int.
31 2015-02-01 Joseph Myers <joseph@codesourcery.com>
33 * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
34 char *, ...)): Remove functions.
35 * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
36 (const char *, ...)): Remove declarations.
37 * arith.c, check.c, data.c, decl.c, frontend-passes.c,
38 interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
39 options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
40 trans-common.c, trans-const.c, trans-stmt.c: All callers of
41 gfc_warning and gfc_warning_now changed to pass 0 or option number
44 2015-01-30 Joseph Myers <joseph@codesourcery.com>
46 * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
47 callers of fatal_error changed to pass input_location as first
50 2015-01-28 Tobias Burnus <burnus@net-b.de>
52 * intrinsic.texi (CO_BROADCAST): Correct argument description.
54 2015-01-27 Tobias Burnus <burnus@net-b.de>
57 * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
58 Fix handling for scalar coarrays.
59 * trans-types.c (gfc_get_element_type): Add comment.
61 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
64 * interface.c: Remove <algorithm>.
65 (check_dummy_characteristics): Use MAX instead of std::max.
67 2015-01-26 Paul Thomas <pault@gcc.gnu.org>
70 * resolve.c (resolve_allocate_expr): If the default initializer
71 is NULL, keep the original MOLD expression so that the correct
72 typespec is available.
74 2015-01-26 Tobias Burnus <burnus@net-b.de>
77 * interface.c (check_dummy_characteristics): Fix coarray handling.
79 2015-01-26 Tobias Burnus <burnus@net-b.de>
81 * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
83 2015-01-26 Janus Weil <janus@gcc.gnu.org>
86 * class.c (finalize_component): New argument 'sub_ns'. Insert code to
87 check if 'expr' is associated.
88 (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
89 'ptr2'. Pass 'sub_ns' to finalize_component.
91 2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
94 * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
95 * module.c (MOD_VERSION): Bump.
96 (write_module): Don't write list of extensions.
97 (read_module): Don't jump over list of extensions;
98 don't load list of extensions.
99 (load_derived_extensions, write_dt_extensions,
100 write_derived_extensions): Remove.
102 2015-01-24 Tobias Burnus <burnus@net-b.de>
104 * parse.c (gfc_parse_file): Fix two-location gfc_error call.
106 2015-01-23 Martin Liska <mliska@suse.cz>
108 * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
109 false positive during profiledbootstrap by initializing them.
110 * matchexp.c (match_mult_operand): Likewise.
111 * module.c (write_atom): Likewise.
112 (read_module): Likewise.
114 2015-01-23 Tom de Vries <tom@codesourcery.com>
117 * lang.opt (fopenacc): Mark as LTO option.
119 2015-01-23 Tom de Vries <tom@codesourcery.com>
122 * lang.opt (fopenmp): Mark as LTO option.
124 2015-01-23 Andre Vehreschild <vehre@gmx.de>
126 * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
127 * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
129 2015-01-23 Jakub Jelinek <jakub@redhat.com>
131 * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
133 2015-01-23 Janus Weil <janus@gcc.gnu.org>
136 * class.c (finalize_component): Apply the check for 'fini_coarray' only
137 to coarray components.
139 2015-01-23 Tobias Burnus <burnus@net-b.de>
142 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
145 2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
149 * trans-io.c (set_parameter_value): Delete use of has_iostat.
150 Redefine to not generate any runtime error check calls.
151 (set_parameter_value_chk): Rename of the former
152 set_parameter_value with the runtime error checks and fix
153 whitespace. (set_parameter_value_inquire): New function that
154 builds a runtime conditional block to set the INQUIRE
155 common parameter block unit number to -2 when unit numbers
156 exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
157 For unit, use the renamed set_parameter_value_chk.
158 (gfc_trans_close): Likewise use renamed function.
159 (build_filepos): Whitespace and use renamed function.
160 (gfc_trans_inquire): Whitespace and for unit use
161 set_parameter_value and set_parameter_value_inquire.
162 (gfc_trans_wait): Remove p->iostat from call to
163 set_parameter_value. Use new set_parameter_value_chk for unit.
164 (build_dt): Use the new set_parameter_value without p->iostat
165 and fix whitespace. Use set_parameter_value_chk for unit.
167 2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
170 * dependency.c (callback_dummy_intent_not_int): New function.
171 (dummy_intent_not_in): New function.
172 (gfc_full_array_ref_p): Use dummy_intent_not_in.
174 2015-01-18 Andre Vehreschild <vehre@gmx.de>
175 Janus Weil <janus@gcc.gnu.org>
178 * class.c (gfc_get_len_component): New.
179 (gfc_build_class_symbol): Add _len component to unlimited
180 polymorphic entities.
181 (find_intrinsic_vtab): Removed emitting of error message.
182 * gfortran.h: Added prototype for gfc_get_len_component.
183 * simplify.c (gfc_simplify_len): Use _len component where
185 * trans-expr.c (gfc_class_len_get): New.
186 (gfc_conv_intrinsic_to_class): Add handling for deferred
188 (gfc_conv_structure): Treat _len component correctly.
189 (gfc_conv_expr): Prevent bind_c handling when not required.
190 (gfc_trans_pointer_assignment): Propagate _len component.
191 * trans-stmt.c (class_has_len_component): New.
192 (trans_associate_var): _len component treatment for associate
194 (gfc_trans_allocate): Same as for trans_associate_var()
195 * trans.h: Added prototype for gfc_class_len_get.
197 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
200 * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
201 for allocatable components, where the source is a variable.
203 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
206 * primary.c (gfc_match_varspec): Exclude dangling associate-
207 names with dimension 0 from being counted as arrays.
208 * resolve.c (resolve_assoc_var): Sub-strings are permissible
209 for associate-names, so exclude characters from the test for
211 * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
212 the hidden string length variable of their associated target.
213 Signal this by setting 'length' to a constant, if the decl for
214 the string length is a variable.
216 2015-01-17 Paul Thomas <pault@gcc.gnu.org>
219 * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
220 before reinitializing rse, to add the rse.pre to block before
222 * trans-intrinsic.c (gfc_conv_associated): Deal with the class
223 data being a descriptor.
225 2015-01-17 Andre Vehreschild <vehre@gmx.de>
228 * primary.c (build_actual_constructor): Prevent warning.
229 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
230 assignment): New function encapsulates treatment of allocatable
232 (gfc_trans_subcomponent_assign): Needed to distinguish between
233 regular assignment and initilization.
234 (gfc_trans_structure_assign): Same.
235 (gfc_conv_structure): Same.
238 * gfortran.h: deferred_parameter is not needed, because
239 it artificial does the trick completely.
240 * primary.c (build_actual_constructor): Same.
241 (gfc_convert_to_structure_constructor): Same.
242 * resolve.c (resolve_fl_derived0): Same.
243 * trans-expr.c (gfc_conv_component_ref): Prevent treating
244 allocatable deferred length char arrays here.
245 (gfc_trans_subcomponent_assign): Same as above.
246 * trans-types.c (gfc_sym_type): This is done in
247 gfc_get_derived_type already.
249 2015-01-17 Andre Vehreschild <vehre@gmx.de>
252 * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
253 length when the symbol is declared to be a result.
254 * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
255 string length when functions are nested and the string length
256 is a reference already.
258 2015-01-16 Janus Weil <janus@gcc.gnu.org>
261 * decl.c (match_pointer_init): Error out if resolution of init expr
264 2015-01-15 Tobias Burnus <burnus@net-b.de>
266 * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
267 resolve_oacc_deviceptr_clause, resolve_omp_clauses,
268 gfc_resolve_oacc_declare): Replace '%s' by %qs.
270 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
271 Cesar Philippidis <cesar@codesourcery.com>
272 James Norris <jnorris@codesourcery.com>
273 Ilmir Usmanov <i.usmanov@samsung.com>
274 Tobias Burnus <burnus@net-b.de>
276 * lang.opt (fopenacc): New option.
277 * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
278 * dump-parse-tree.c (show_omp_node): Split part of it into...
279 (show_omp_clauses): ... this new function.
280 (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
281 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
282 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
283 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
284 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
285 (show_namespace): Update for OpenACC.
286 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
287 (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
288 (DEF_GOACC_BUILTIN_COMPILER): New macros.
289 * types.def (BT_FN_VOID_INT_INT_VAR)
290 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
291 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
293 * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
294 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
295 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
296 ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
297 ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
298 ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
299 ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
301 (struct gfc_expr_list): New data type.
302 (gfc_get_expr_list): New macro.
303 (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
304 OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
305 OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
306 (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
307 (OMP_LIST_CACHE): New enumerators.
308 (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
309 vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
310 wait_list, tile_list, async, gang, worker, vector, seq,
311 independent, wait, par_auto, gang_static, and loc members.
312 (struct gfc_namespace): Add oacc_declare_clauses member.
313 (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
314 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
315 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
316 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
317 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
318 (gfc_free_expr_list, gfc_resolve_oacc_directive)
319 (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
320 (gfc_resolve_oacc_blocks): New prototypes.
321 * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
322 EXEC_OACC_PARALLEL_LOOP.
323 * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
324 (gfc_match_oacc_update, gfc_match_oacc_declare)
325 (gfc_match_oacc_loop, gfc_match_oacc_host_data)
326 (gfc_match_oacc_data, gfc_match_oacc_kernels)
327 (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
328 (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
329 (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
331 * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
332 (gfc_free_omp_clauses): Update for members added to struct
334 (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
336 (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
337 (struct fortran_omp_context): Add is_openmp member.
338 (gfc_resolve_omp_parallel_blocks): Initialize it.
339 (gfc_resolve_do_iterator): Update for OpenACC.
340 (gfc_resolve_omp_directive): Call
341 resolve_omp_directive_inside_oacc_region.
342 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
343 (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
344 (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
345 (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
346 (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
347 (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
348 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
349 (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
350 (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
351 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
352 (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
353 (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
354 (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
355 (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
356 (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
357 (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
358 (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
359 (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
360 (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
361 (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
362 (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
363 (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
364 (gfc_match_omp_clauses): Handle those.
365 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
366 (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
367 (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
368 (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
369 (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
370 (OACC_WAIT_CLAUSES): New macros.
371 (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
372 (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
373 (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
374 (gfc_match_oacc_kernels, gfc_match_oacc_data)
375 (gfc_match_oacc_host_data, gfc_match_oacc_loop)
376 (gfc_match_oacc_declare, gfc_match_oacc_update)
377 (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
378 (gfc_match_oacc_wait, gfc_match_oacc_cache)
379 (gfc_match_oacc_routine, oacc_is_loop)
380 (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
381 (check_symbol_not_pointer, check_array_not_assumed)
382 (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
383 (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
384 (omp_code_to_statement, oacc_code_to_statement)
385 (resolve_oacc_directive_inside_omp_region)
386 (resolve_omp_directive_inside_oacc_region)
387 (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
388 (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
389 (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
390 (gfc_resolve_oacc_directive): New functions.
391 * parse.c (next_free): Update for OpenACC. Move some code into...
392 (verify_token_free): ... this new function.
393 (next_fixed): Update for OpenACC. Move some code into...
394 (verify_token_fixed): ... this new function.
395 (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
396 ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
397 (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
398 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
399 ST_OACC_KERNELS_LOOP.
400 (case_decl): Add ST_OACC_ROUTINE.
401 (push_state, parse_critical_block, parse_progunit): Update for
403 (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
404 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
405 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
406 ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
407 ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
408 ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
409 ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
411 (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
412 (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
413 ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
414 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
415 (decode_oacc_directive, parse_oacc_structured_block)
416 (parse_oacc_loop, is_oacc): New functions.
417 * parse.h (struct gfc_state_data): Add oacc_declare_clauses
419 (is_oacc): New prototype.
420 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
421 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
422 EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
423 EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
424 EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
426 (resolve_codes): Call gfc_resolve_oacc_declare.
427 * scanner.c (openacc_flag, openacc_locus): New variables.
428 (skip_free_comments): Update for OpenACC. Move some code into...
429 (skip_omp_attribute): ... this new function.
430 (skip_oacc_attribute): New function.
431 (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
432 * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
433 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
434 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
435 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
436 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
437 * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
438 * trans-openmp.c: Include "gomp-constants.h".
439 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
440 instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
441 (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
442 OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
443 OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
444 OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
445 OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
446 independent, wait_list, num_gangs_expr, num_workers_expr,
447 vector_length_expr, vector, vector_expr, worker, worker_expr,
448 gang, gang_expr members.
449 (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
450 (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
451 (gfc_trans_oacc_executable_directive)
452 (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
453 (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
454 * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
455 * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
457 * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
458 EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
459 EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
460 EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
462 * gfortran.texi: Update for OpenACC.
463 * intrinsic.texi: Likewise.
464 * invoke.texi: Likewise.
466 2015-01-15 Janus Weil <janus@gcc.gnu.org>
469 * resolve.c (resolve_fl_derived0): Continue resolving next component
472 2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
475 * io.c (gfc_match_inquire): Generate error if unit number in
476 inquire statement is a constant -1. All other values allowed.
477 * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
478 (create_dummy_iostat): Delete function no longer used.
480 2015-01-13 Jakub Jelinek <jakub@redhat.com>
483 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
484 on dummy args with VALUE attribute.
486 2015-01-11 Janus Weil <janus@gcc.gnu.org>
489 * interface.c (gfc_extend_expr): Look for type-bound operators before
492 2015-01-11 Janus Weil <janus@gcc.gnu.org>
495 * resolve.c (resolve_fl_derived0): Set error flag if problems with the
496 interface of a procedure-pointer component were detected.
498 2015-01-11 Janus Weil <janus@gcc.gnu.org>
501 * interface.c (compare_parameter): Interface check for
502 procedure-pointer component as actual argument.
504 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
506 * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
507 Runtime Library" to "GNU Offloading and Multi Processing Runtime
509 * intrinsic.texi: Likewise.
511 2015-01-10 Tobias Burnus <burnus@net-b.de>
514 * invoke.texi (Wline-truncation): Document new behaviour.
515 * lang.opt (Wline-truncation): Add Init(-1).
516 * options.c (gfc_post_options): If -Wline-truncation is unset,
517 enable it for free-form source files; for the latter, also use
518 -Werror=line-truncation, unless -Wno-error has been specified.
520 2015-01-09 Michael Collison <michael.collison@linaro.org>
522 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
523 input.h, alias.h, symtab.h, options.h, fold-const.h,
524 wide-int.h, and inchash.h due to flattening of tree.h.
525 * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
526 input.h, alias.h, symtab.h, fold-const.h,
527 wide-int.h, and inchash.h due to flattening of tree.h.
529 * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
530 input.h, alias.h, symtab.h, options.h, fold-const.h,
531 wide-int.h, and inchash.h due to flattening of tree.h.
533 * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
534 input.h, alias.h, symtab.h, fold-const.h,
535 wide-int.h, and inchash.h due to flattening of tree.h.
536 * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
537 input.h, alias.h, symtab.h, options.h, fold-const.h,
538 wide-int.h, and inchash.h due to flattening of tree.h.
540 * target-memory.c: Include hash-set.h, vec.h,
541 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
542 wide-int.h, and inchash.h due to flattening of tree.h.
543 * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
544 input.h, alias.h, symtab.h, options.h, fold-const.h,
545 wide-int.h, and inchash.h due to flattening of tree.h.
546 * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
547 input.h, alias.h, symtab.h, options.h, fold-const.h,
548 wide-int.h, and inchash.h due to flattening of tree.h.
549 * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
550 input.h, alias.h, symtab.h, fold-const.h,
551 wide-int.h, and inchash.h due to flattening of tree.h.
552 * trans-const.c: Ditto.
553 * trans-decl.c: Ditto.
554 * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
555 input.h, alias.h, symtab.h, options.h, fold-const.h,
556 wide-int.h, and inchash.h due to flattening of tree.h.
557 * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
558 input.h, alias.h, symtab.h, fold-const.h,
559 wide-int.h, inchash.h and real.h due to flattening of tree.h.
560 * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
561 input.h, alias.h, symtab.h, options.h, fold-const.h,
562 wide-int.h, and inchash.h due to flattening of tree.h.
563 * trans-openmp.c: Ditto.
564 * trans-stmt.c: Ditto.
565 * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
566 input.h, alias.h, symtab.h, fold-const.h,
567 wide-int.h, inchash.h and real.h due to flattening of tree.h.
569 2015-01-08 Tobias Burnus <burnus@net-b.de>
571 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
572 for module coarrays with -fcoarray=lib.
573 (get_proc_pointer_decl): As module variable, make only public
574 when not marked as private.
576 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
579 * dependency.h: Actually commit changes.
581 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
584 * dependency.c: Update copyright years.
585 (gfc_discard_nops): Add prototype.
586 * dependency.c (discard_nops): Rename to gfc_discard_nops,
588 (gfc_discard_nops): Use gfc_discard_nops.
589 (gfc_dep_difference): Likewise.
590 * frontend-passes.c Update copyright years.
591 (realloc_strings): New function. Add prototype.
592 (gfc_run_passes): Call realloc_strings.
593 (realloc_string_callback): New function.
594 (create_var): Add prototype. Handle case of a
595 scalar character variable.
596 (optimize_trim): Do not handle allocatable variables.
598 2015-01-05 Jakub Jelinek <jakub@redhat.com>
600 Update copyright years.
602 * gfortranspec.c (lang_specific_driver): Update copyright notice
604 * gfc-internals.texi: Bump @copying's copyright year.
605 * gfortran.texi: Ditto.
606 * intrinsic.texi: Ditto.
607 * invoke.texi: Ditto.
609 2015-01-02 Janus Weil <janus@gcc.gnu.org>
612 * expr.c (find_component_ref): Deal with extended types.
614 2015-01-02 Tobias Burnus <burnus@net-b.de>
616 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
617 for module coarrays with -fcoarray=lib.
619 2015-01-02 Janus Weil <janus@gcc.gnu.org>
622 * interface.c (is_procptr_result): New function to check if an
623 expression is a procedure-pointer result.
624 (compare_actual_formal): Use it.
626 Copyright (C) 2015 Free Software Foundation, Inc.
628 Copying and distribution of this file, with or without modification,
629 are permitted in any medium without royalty provided the copyright
630 notice and this notice are preserved.