]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
[PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
56a9f6bc
TS
12015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2
3 PR libgomp/64625
4 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5 Remove macros.
6 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
7 * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
8 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
9 Remove function types.
10 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
11 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
12 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
13 New function types.
14
62c4c81a
BE
152015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
16
17 PR fortran/64980
18 PR fortran/61960
19 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
20 for component references to class objects.
21 (gfc_conv_procedure_call): Compare the class by name.
22
0d6fc963
JD
232015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
24
25 PR fortran/64506
26 * scanner.c (gfc_next_char_literal): For free form source,
27 check for '!' and if found, clear the comment and go back
28 and get the next character. For fixed form source, skip the
29 rest of the line.
30
ec6a7096
PT
312015-02-12 Paul Thomas <pault@gcc.gnu.org>
32
33 PR fortran/64932
34 * trans-stmt.c (gfc_trans_deallocate): If a component array
35 expression is not a descriptor type and it is a derived type
36 that has allocatable components and is not finalizable, then
37 deallocate the allocatable components.
38
91480ff3
MM
392015-02-08 Mikael Morin <mikael@gcc.gnu.org>
40
41 PR fortran/63744
42 * module.c (check_for_ambiguous): Change argument type
43 from gfc_symbol to gfc_symtree. Check local (symtree) name
44 instead of original (symbol) name.
45 (read_module): Update caller.
46
43a68a9d
PT
472015-02-06 Paul Thomas <pault@gcc.gnu.org>
48
49 PR fortran/63205
50 * gfortran.h: Add 'must finalize' field to gfc_expr and
51 prototypes for gfc_is_alloc_class_scalar_function and for
52 gfc_is_alloc_class_array_function.
53 * expr.c (gfc_is_alloc_class_scalar_function,
54 gfc_is_alloc_class_array_function): New functions.
55 * trans-array.c (gfc_add_loop_ss_code): Do not move the
56 expression for allocatable class scalar functions outside the
57 loop.
58 (conv_array_index_offset): Cope with deltas being NULL_TREE.
59 (build_class_array_ref): Do not return with allocatable class
60 array functions. Add code to pick out the returned class array.
61 Dereference if necessary and return if not a class object.
62 (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
63 (gfc_walk_function_expr): Return an array ss for the result of
64 an allocatable class array function.
65 * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
66 that the argument should be a variable. If an allocatable class
67 array function, set the offset to zero and skip the write-out
68 loop in this case.
69 (gfc_conv_procedure_call): Add allocatable class array function
70 to the assert. Call gfc_conv_subref_array_arg for allocatable
71 class array function arguments with derived type formal arg..
72 Add the code for handling allocatable class functions, including
73 finalization calls to prevent memory leaks.
74 (arrayfunc_assign_needs_temporary): Return if an allocatable
75 class array function.
76 (gfc_trans_assignment_1): Set must_finalize to rhs expression
77 for allocatable class functions. Set scalar_to_array as needed
78 for scalar class allocatable functions assigned to an array.
79 Nullify the allocatable components corresponding the the lhs
80 derived type so that the finalization does not free them.
e3a7c6cf 81
43a68a9d
PT
822015-01-29 Andre Vehreschild <vehre@gmx.de>
83 Janus Weil <janus@gcc.gnu.org>
e3a7c6cf
AV
84
85 PR fortran/60289
86 Initial patch by Janus Weil
43a68a9d
PT
87 * resolve.c (resolve_allocate_expr): Add check for comp. only
88 when target is not unlimited polymorphic.
89 * trans-stmt.c (gfc_trans_allocate): Assign correct value to
90 _len component of unlimited polymorphic entities.
e3a7c6cf 91
2f72ca14
TB
922015-02-05 Tobias Burnus <burnus@net-b.de>
93
94 PR fortran/64943
95 * resolve.c (resolve_transfer): Also check structure
96 constructors.
97
3cd52c11
PT
982015-02-05 Paul Thomas <pault@gcc.gnu.org>
99
cc6a430f 100 PR fortran/64757
3cd52c11
PT
101 * resolve.c (resolve_structure_cons): Obtain the rank of class
102 components.
103 * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
104 assignment to allocatable class array components.
105 (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
106 is a class component, allocate to the _data field.
107 (gfc_trans_subcomponent_assign): If a class component with a
108 derived type expression set the _vptr field and for array
109 components, call gfc_trans_alloc_subarray_assign. For scalars,
110 the assignment is performed here.
111
de3aebff
JJ
1122015-02-04 Jakub Jelinek <jakub@redhat.com>
113
114 * options.c: Include langhooks.h.
115 (gfc_post_options): Change lang_hooks.name based on
116 selected -std= mode.
117
db78ae15
SK
1182015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
119
120 * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
56d1b78a
AV
121
1222015-01-30 Andre Vehreschild <vehre@gmx.de>
123
124 * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
125 * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
126 Fixed datatype of charlen to be a 32-bit int.
127
db30e21c
JM
1282015-02-01 Joseph Myers <joseph@codesourcery.com>
129
130 * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
131 char *, ...)): Remove functions.
132 * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
133 (const char *, ...)): Remove declarations.
134 * arith.c, check.c, data.c, decl.c, frontend-passes.c,
135 interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
136 options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
137 trans-common.c, trans-const.c, trans-stmt.c: All callers of
138 gfc_warning and gfc_warning_now changed to pass 0 or option number
139 as first argument.
140
40fecdd6
JM
1412015-01-30 Joseph Myers <joseph@codesourcery.com>
142
143 * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
144 callers of fatal_error changed to pass input_location as first
145 argument.
146
d240f6b3
TB
1472015-01-28 Tobias Burnus <burnus@net-b.de>
148
149 * intrinsic.texi (CO_BROADCAST): Correct argument description.
150
710700ab
TB
1512015-01-27 Tobias Burnus <burnus@net-b.de>
152
153 PR fortran/63861
154 * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
155 Fix handling for scalar coarrays.
156 * trans-types.c (gfc_get_element_type): Add comment.
157
47da0bf6
RO
1582015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
159
160 PR fortran/64771
161 * interface.c: Remove <algorithm>.
162 (check_dummy_characteristics): Use MAX instead of std::max.
163
40a778bd
PT
1642015-01-26 Paul Thomas <pault@gcc.gnu.org>
165
166 PR fortran/62044
167 * resolve.c (resolve_allocate_expr): If the default initializer
168 is NULL, keep the original MOLD expression so that the correct
169 typespec is available.
170
b25affbd
TB
1712015-01-26 Tobias Burnus <burnus@net-b.de>
172
173 PR fortran/64771
174 * interface.c (check_dummy_characteristics): Fix coarray handling.
175
c123c5ba
TB
1762015-01-26 Tobias Burnus <burnus@net-b.de>
177
178 * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
179
807b50a7
JW
1802015-01-26 Janus Weil <janus@gcc.gnu.org>
181
182 PR fortran/64230
183 * class.c (finalize_component): New argument 'sub_ns'. Insert code to
184 check if 'expr' is associated.
185 (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
186 'ptr2'. Pass 'sub_ns' to finalize_component.
187
0ac399cf
MM
1882015-01-25 Mikael Morin <mikael@gcc.gnu.org>
189
190 PR fortran/62044
191 * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
192 * module.c (MOD_VERSION): Bump.
193 (write_module): Don't write list of extensions.
194 (read_module): Don't jump over list of extensions;
195 don't load list of extensions.
196 (load_derived_extensions, write_dt_extensions,
197 write_derived_extensions): Remove.
198
d773ed85
TB
1992015-01-24 Tobias Burnus <burnus@net-b.de>
200
201 * parse.c (gfc_parse_file): Fix two-location gfc_error call.
202
97440db5
ML
2032015-01-23 Martin Liska <mliska@suse.cz>
204
205 * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
206 false positive during profiledbootstrap by initializing them.
207 * matchexp.c (match_mult_operand): Likewise.
208 * module.c (write_atom): Likewise.
209 (read_module): Likewise.
210
a0c88d06
TV
2112015-01-23 Tom de Vries <tom@codesourcery.com>
212
213 PR libgomp/64672
214 * lang.opt (fopenacc): Mark as LTO option.
215
1506ae0e
TV
2162015-01-23 Tom de Vries <tom@codesourcery.com>
217
218 PR libgomp/64707
219 * lang.opt (fopenmp): Mark as LTO option.
63a1dd10
AV
220
2212015-01-23 Andre Vehreschild <vehre@gmx.de>
222
223 * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
224 * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
225
b55f40c1
JJ
2262015-01-23 Jakub Jelinek <jakub@redhat.com>
227
228 * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
229
652960d1
JW
2302015-01-23 Janus Weil <janus@gcc.gnu.org>
231
232 PR fortran/60922
233 * class.c (finalize_component): Apply the check for 'fini_coarray' only
234 to coarray components.
235
c146aced
TB
2362015-01-23 Tobias Burnus <burnus@net-b.de>
237
238 PR fortran/64726
239 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
240 loop generation.
241
e344505c
JD
2422015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
243
244 PR fortran/61933
245 * libgfortran.h:
246 * trans-io.c (set_parameter_value): Delete use of has_iostat.
247 Redefine to not generate any runtime error check calls.
248 (set_parameter_value_chk): Rename of the former
249 set_parameter_value with the runtime error checks and fix
250 whitespace. (set_parameter_value_inquire): New function that
251 builds a runtime conditional block to set the INQUIRE
252 common parameter block unit number to -2 when unit numbers
253 exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
254 For unit, use the renamed set_parameter_value_chk.
255 (gfc_trans_close): Likewise use renamed function.
256 (build_filepos): Whitespace and use renamed function.
257 (gfc_trans_inquire): Whitespace and for unit use
258 set_parameter_value and set_parameter_value_inquire.
259 (gfc_trans_wait): Remove p->iostat from call to
260 set_parameter_value. Use new set_parameter_value_chk for unit.
261 (build_dt): Use the new set_parameter_value without p->iostat
262 and fix whitespace. Use set_parameter_value_chk for unit.
263
4195393b
TK
2642015-01-21 Thomas Koenig <tkoenig@netcologne.de>
265
266 PR fortran/57023
267 * dependency.c (callback_dummy_intent_not_int): New function.
268 (dummy_intent_not_in): New function.
269 (gfc_full_array_ref_p): Use dummy_intent_not_in.
270
5b384b3d
PT
2712015-01-18 Andre Vehreschild <vehre@gmx.de>
272 Janus Weil <janus@gcc.gnu.org>
273
274 PR fortran/60255
275 * class.c (gfc_get_len_component): New.
276 (gfc_build_class_symbol): Add _len component to unlimited
277 polymorphic entities.
278 (find_intrinsic_vtab): Removed emitting of error message.
279 * gfortran.h: Added prototype for gfc_get_len_component.
280 * simplify.c (gfc_simplify_len): Use _len component where
281 available.
282 * trans-expr.c (gfc_class_len_get): New.
283 (gfc_conv_intrinsic_to_class): Add handling for deferred
284 character arrays.
285 (gfc_conv_structure): Treat _len component correctly.
286 (gfc_conv_expr): Prevent bind_c handling when not required.
287 (gfc_trans_pointer_assignment): Propagate _len component.
288 * trans-stmt.c (class_has_len_component): New.
289 (trans_associate_var): _len component treatment for associate
290 context.
291 (gfc_trans_allocate): Same as for trans_associate_var()
292 * trans.h: Added prototype for gfc_class_len_get.
293
a878f8e8
PT
2942015-01-18 Paul Thomas <pault@gcc.gnu.org>
295
8fc4dc4a 296 PR fortran/57959
a878f8e8
PT
297 * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
298 for allocatable components, where the source is a variable.
299
e207c522
PT
3002015-01-18 Paul Thomas <pault@gcc.gnu.org>
301
302 PR fortran/55901
303 * primary.c (gfc_match_varspec): Exclude dangling associate-
304 names with dimension 0 from being counted as arrays.
305 * resolve.c (resolve_assoc_var): Sub-strings are permissible
306 for associate-names, so exclude characters from the test for
307 misuse as arrays.
308 * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
309 the hidden string length variable of their associated target.
310 Signal this by setting 'length' to a constant, if the decl for
311 the string length is a variable.
312
029b2d55
PT
3132015-01-17 Paul Thomas <pault@gcc.gnu.org>
314
315 PR fortran/64578
316 * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
317 before reinitializing rse, to add the rse.pre to block before
318 creating 'ptrtemp'.
319 * trans-intrinsic.c (gfc_conv_associated): Deal with the class
320 data being a descriptor.
321
9b548517
AV
3222015-01-17 Andre Vehreschild <vehre@gmx.de>
323
324 PR fortran/60357
325 * primary.c (build_actual_constructor): Prevent warning.
326 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
327 assignment): New function encapsulates treatment of allocatable
328 components.
329 (gfc_trans_subcomponent_assign): Needed to distinguish between
330 regular assignment and initilization.
331 (gfc_trans_structure_assign): Same.
332 (gfc_conv_structure): Same.
333
334 PR fortran/61275
335 * gfortran.h: deferred_parameter is not needed, because
336 it artificial does the trick completely.
337 * primary.c (build_actual_constructor): Same.
338 (gfc_convert_to_structure_constructor): Same.
339 * resolve.c (resolve_fl_derived0): Same.
340 * trans-expr.c (gfc_conv_component_ref): Prevent treating
341 allocatable deferred length char arrays here.
342 (gfc_trans_subcomponent_assign): Same as above.
343 * trans-types.c (gfc_sym_type): This is done in
344 gfc_get_derived_type already.
345
adbfb3f8
AV
3462015-01-17 Andre Vehreschild <vehre@gmx.de>
347
348 PR fortran/60334
349 * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
350 length when the symbol is declared to be a result.
351 * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
352 string length when functions are nested and the string length
353 is a reference already.
354
dc9a54fa
JW
3552015-01-16 Janus Weil <janus@gcc.gnu.org>
356
357 PR fortran/45290
358 * decl.c (match_pointer_init): Error out if resolution of init expr
359 failed.
360
9f584046
TB
3612015-01-15 Tobias Burnus <burnus@net-b.de>
362
363 * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
364 resolve_oacc_deviceptr_clause, resolve_omp_clauses,
365 gfc_resolve_oacc_declare): Replace '%s' by %qs.
366
41dbbb37
TS
3672015-01-15 Thomas Schwinge <thomas@codesourcery.com>
368 Cesar Philippidis <cesar@codesourcery.com>
369 James Norris <jnorris@codesourcery.com>
370 Ilmir Usmanov <i.usmanov@samsung.com>
371 Tobias Burnus <burnus@net-b.de>
372
373 * lang.opt (fopenacc): New option.
374 * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
375 * dump-parse-tree.c (show_omp_node): Split part of it into...
376 (show_omp_clauses): ... this new function.
377 (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
378 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
379 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
380 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
381 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
382 (show_namespace): Update for OpenACC.
383 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
384 (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
385 (DEF_GOACC_BUILTIN_COMPILER): New macros.
386 * types.def (BT_FN_VOID_INT_INT_VAR)
387 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
388 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
389 New function types.
390 * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
391 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
392 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
393 ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
394 ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
395 ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
396 ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
397 ST_OACC_ROUTINE.
398 (struct gfc_expr_list): New data type.
399 (gfc_get_expr_list): New macro.
400 (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
401 OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
402 OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
403 (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
404 (OMP_LIST_CACHE): New enumerators.
405 (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
406 vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
407 wait_list, tile_list, async, gang, worker, vector, seq,
408 independent, wait, par_auto, gang_static, and loc members.
409 (struct gfc_namespace): Add oacc_declare_clauses member.
410 (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
411 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
412 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
413 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
414 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
415 (gfc_free_expr_list, gfc_resolve_oacc_directive)
416 (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
417 (gfc_resolve_oacc_blocks): New prototypes.
418 * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
419 EXEC_OACC_PARALLEL_LOOP.
420 * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
421 (gfc_match_oacc_update, gfc_match_oacc_declare)
422 (gfc_match_oacc_loop, gfc_match_oacc_host_data)
423 (gfc_match_oacc_data, gfc_match_oacc_kernels)
424 (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
425 (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
426 (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
427 prototypes.
428 * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
429 (gfc_free_omp_clauses): Update for members added to struct
430 gfc_omp_clauses.
431 (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
432 openacc parameter.
433 (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
434 (struct fortran_omp_context): Add is_openmp member.
435 (gfc_resolve_omp_parallel_blocks): Initialize it.
436 (gfc_resolve_do_iterator): Update for OpenACC.
437 (gfc_resolve_omp_directive): Call
438 resolve_omp_directive_inside_oacc_region.
439 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
440 (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
441 (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
442 (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
443 (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
444 (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
445 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
446 (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
447 (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
448 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
449 (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
450 (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
451 (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
452 (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
453 (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
454 (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
455 (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
456 (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
457 (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
458 (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
459 (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
460 (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
461 (gfc_match_omp_clauses): Handle those.
462 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
463 (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
464 (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
465 (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
466 (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
467 (OACC_WAIT_CLAUSES): New macros.
468 (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
469 (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
470 (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
471 (gfc_match_oacc_kernels, gfc_match_oacc_data)
472 (gfc_match_oacc_host_data, gfc_match_oacc_loop)
473 (gfc_match_oacc_declare, gfc_match_oacc_update)
474 (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
475 (gfc_match_oacc_wait, gfc_match_oacc_cache)
476 (gfc_match_oacc_routine, oacc_is_loop)
477 (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
478 (check_symbol_not_pointer, check_array_not_assumed)
479 (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
480 (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
481 (omp_code_to_statement, oacc_code_to_statement)
482 (resolve_oacc_directive_inside_omp_region)
483 (resolve_omp_directive_inside_oacc_region)
484 (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
485 (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
486 (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
487 (gfc_resolve_oacc_directive): New functions.
488 * parse.c (next_free): Update for OpenACC. Move some code into...
489 (verify_token_free): ... this new function.
490 (next_fixed): Update for OpenACC. Move some code into...
491 (verify_token_fixed): ... this new function.
492 (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
493 ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
494 (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
495 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
496 ST_OACC_KERNELS_LOOP.
497 (case_decl): Add ST_OACC_ROUTINE.
498 (push_state, parse_critical_block, parse_progunit): Update for
499 OpenACC.
500 (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
501 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
502 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
503 ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
504 ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
505 ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
506 ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
507 ST_OACC_ROUTINE.
508 (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
509 (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
510 ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
511 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
512 (decode_oacc_directive, parse_oacc_structured_block)
513 (parse_oacc_loop, is_oacc): New functions.
514 * parse.h (struct gfc_state_data): Add oacc_declare_clauses
515 member.
516 (is_oacc): New prototype.
517 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
518 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
519 EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
520 EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
521 EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
522 EXEC_OACC_EXIT_DATA.
523 (resolve_codes): Call gfc_resolve_oacc_declare.
524 * scanner.c (openacc_flag, openacc_locus): New variables.
525 (skip_free_comments): Update for OpenACC. Move some code into...
526 (skip_omp_attribute): ... this new function.
527 (skip_oacc_attribute): New function.
528 (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
529 * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
530 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
531 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
532 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
533 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
534 * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
535 * trans-openmp.c: Include "gomp-constants.h".
536 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
537 instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
538 (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
539 OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
540 OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
541 OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
542 OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
543 independent, wait_list, num_gangs_expr, num_workers_expr,
544 vector_length_expr, vector, vector_expr, worker, worker_expr,
545 gang, gang_expr members.
546 (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
547 (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
548 (gfc_trans_oacc_executable_directive)
549 (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
550 (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
551 * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
552 * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
553 New prototypes.
554 * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
555 EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
556 EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
557 EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
558 EXEC_OACC_EXIT_DATA.
559 * gfortran.texi: Update for OpenACC.
560 * intrinsic.texi: Likewise.
561 * invoke.texi: Likewise.
562
cab283f5
JW
5632015-01-15 Janus Weil <janus@gcc.gnu.org>
564
565 PR fortran/58023
566 * resolve.c (resolve_fl_derived0): Continue resolving next component
567 after error.
568
2da229cb
JD
5692015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
570
571 PR fortran/61933
572 * io.c (gfc_match_inquire): Generate error if unit number in
573 inquire statement is a constant -1. All other values allowed.
574 * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
575 (create_dummy_iostat): Delete function no longer used.
576
31ec3535
JJ
5772015-01-13 Jakub Jelinek <jakub@redhat.com>
578
579 PR fortran/64528
580 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
581 on dummy args with VALUE attribute.
582
517d78be
JW
5832015-01-11 Janus Weil <janus@gcc.gnu.org>
584
585 PR fortran/63733
586 * interface.c (gfc_extend_expr): Look for type-bound operators before
587 non-typebound ones.
588
c34d453f
JW
5892015-01-11 Janus Weil <janus@gcc.gnu.org>
590
591 PR fortran/58023
592 * resolve.c (resolve_fl_derived0): Set error flag if problems with the
593 interface of a procedure-pointer component were detected.
594
5c0ba546
JW
5952015-01-11 Janus Weil <janus@gcc.gnu.org>
596
597 PR fortran/64508
598 * interface.c (compare_parameter): Interface check for
599 procedure-pointer component as actual argument.
600
f1f3453e
TS
6012015-01-10 Thomas Schwinge <thomas@codesourcery.com>
602
603 * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
604 Runtime Library" to "GNU Offloading and Multi Processing Runtime
605 Library".
606 * intrinsic.texi: Likewise.
607
aecfd035
TB
6082015-01-10 Tobias Burnus <burnus@net-b.de>
609
610 PR fortran/64522
611 * invoke.texi (Wline-truncation): Document new behaviour.
612 * lang.opt (Wline-truncation): Add Init(-1).
613 * options.c (gfc_post_options): If -Wline-truncation is unset,
614 enable it for free-form source files; for the latter, also use
615 -Werror=line-truncation, unless -Wno-error has been specified.
616
adfac8df
JJ
6172015-01-09 Michael Collison <michael.collison@linaro.org>
618
619 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
620 input.h, alias.h, symtab.h, options.h, fold-const.h,
621 wide-int.h, and inchash.h due to flattening of tree.h.
622 * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
623 input.h, alias.h, symtab.h, fold-const.h,
624 wide-int.h, and inchash.h due to flattening of tree.h.
625 * decl.c: Ditto.
626 * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
627 input.h, alias.h, symtab.h, options.h, fold-const.h,
628 wide-int.h, and inchash.h due to flattening of tree.h.
629 * iresolve.c: Ditto.
630 * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
631 input.h, alias.h, symtab.h, fold-const.h,
632 wide-int.h, and inchash.h due to flattening of tree.h.
633 * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
634 input.h, alias.h, symtab.h, options.h, fold-const.h,
635 wide-int.h, and inchash.h due to flattening of tree.h.
636 * options.c: Ditto.
637 * target-memory.c: Include hash-set.h, vec.h,
638 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
639 wide-int.h, and inchash.h due to flattening of tree.h.
640 * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
641 input.h, alias.h, symtab.h, options.h, fold-const.h,
642 wide-int.h, and inchash.h due to flattening of tree.h.
643 * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
644 input.h, alias.h, symtab.h, options.h, fold-const.h,
645 wide-int.h, and inchash.h due to flattening of tree.h.
646 * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
647 input.h, alias.h, symtab.h, fold-const.h,
648 wide-int.h, and inchash.h due to flattening of tree.h.
649 * trans-const.c: Ditto.
650 * trans-decl.c: Ditto.
651 * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
652 input.h, alias.h, symtab.h, options.h, fold-const.h,
653 wide-int.h, and inchash.h due to flattening of tree.h.
654 * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
655 input.h, alias.h, symtab.h, fold-const.h,
656 wide-int.h, inchash.h and real.h due to flattening of tree.h.
657 * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
658 input.h, alias.h, symtab.h, options.h, fold-const.h,
659 wide-int.h, and inchash.h due to flattening of tree.h.
660 * trans-openmp.c: Ditto.
661 * trans-stmt.c: Ditto.
662 * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
663 input.h, alias.h, symtab.h, fold-const.h,
664 wide-int.h, inchash.h and real.h due to flattening of tree.h.
665
de1184c0
TB
6662015-01-08 Tobias Burnus <burnus@net-b.de>
667
668 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
669 for module coarrays with -fcoarray=lib.
670 (get_proc_pointer_decl): As module variable, make only public
671 when not marked as private.
672
73b44fa4
TK
6732015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
674
675 PR fortran/47674
676 * dependency.h: Actually commit changes.
677
8b7cec58
TK
6782015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
679
680 PR fortran/47674
681 * dependency.c: Update copyright years.
682 (gfc_discard_nops): Add prototype.
683 * dependency.c (discard_nops): Rename to gfc_discard_nops,
684 make non-static.
685 (gfc_discard_nops): Use gfc_discard_nops.
686 (gfc_dep_difference): Likewise.
687 * frontend-passes.c Update copyright years.
688 (realloc_strings): New function. Add prototype.
689 (gfc_run_passes): Call realloc_strings.
690 (realloc_string_callback): New function.
691 (create_var): Add prototype. Handle case of a
692 scalar character variable.
693 (optimize_trim): Do not handle allocatable variables.
694
b67cd4e3
JJ
6952015-01-05 Jakub Jelinek <jakub@redhat.com>
696
5624e564
JJ
697 Update copyright years.
698
b67cd4e3
JJ
699 * gfortranspec.c (lang_specific_driver): Update copyright notice
700 dates.
701 * gfc-internals.texi: Bump @copying's copyright year.
702 * gfortran.texi: Ditto.
703 * intrinsic.texi: Ditto.
704 * invoke.texi: Ditto.
705
74a1c62f
JW
7062015-01-02 Janus Weil <janus@gcc.gnu.org>
707
708 PR fortran/57562
709 * expr.c (find_component_ref): Deal with extended types.
710
213ab0a6
TB
7112015-01-02 Tobias Burnus <burnus@net-b.de>
712
713 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
714 for module coarrays with -fcoarray=lib.
715
4294c093 7162015-01-02 Janus Weil <janus@gcc.gnu.org>
2e9cc48c 717
4294c093
JW
718 PR fortran/60507
719 * interface.c (is_procptr_result): New function to check if an
720 expression is a procedure-pointer result.
721 (compare_actual_formal): Use it.
09de7c25 722^L
213ab0a6 723Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
724
725Copying and distribution of this file, with or without modification,
726are permitted in any medium without royalty provided the copyright
727notice and this notice are preserved.