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