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