* trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
[official-gcc.git] / gcc / fortran / ChangeLog
blob6d5964af5b60ea0ec03ded5a764e9e2eef0c05fb
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
19         as first argument.
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
25         argument.
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>
33         PR fortran/63861
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>
40         PR fortran/64771
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>
46         PR fortran/62044
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>
53         PR fortran/64771
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>
62         PR fortran/64230
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>
70         PR fortran/62044
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>
93         PR libgomp/64672
94         * lang.opt (fopenacc): Mark as LTO option.
96 2015-01-23  Tom de Vries  <tom@codesourcery.com>
98         PR libgomp/64707
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>
112         PR fortran/60922
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>
118         PR fortran/64726
119         * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
120         loop generation.
122 2015-01-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
124         PR fortran/61933
125         * libgfortran.h:
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>
146         PR fortran/57023
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>
154         PR fortran/60255
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
161         available.
162         * trans-expr.c (gfc_class_len_get): New.
163         (gfc_conv_intrinsic_to_class): Add handling for deferred
164         character arrays.
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
170         context.
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>
176         PR fortran/57959
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>
182         PR fortran/55901
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
187         misuse as arrays.
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>
195         PR fortran/64578
196         * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
197         before reinitializing rse, to add the rse.pre to block before
198         creating 'ptrtemp'.
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>
204         PR fortran/60357
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
208         components.
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.
214         PR fortran/61275
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>
228         PR fortran/60334
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>
237         PR fortran/45290
238         * decl.c (match_pointer_init): Error out if resolution of init expr
239         failed.
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):
269         New function types.
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,
277         ST_OACC_ROUTINE.
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
307         prototypes.
308         * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
309         (gfc_free_omp_clauses): Update for members added to struct
310         gfc_omp_clauses.
311         (gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
312         openacc parameter.
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
379         OpenACC.
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,
387         ST_OACC_ROUTINE.
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
395         member.
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,
402         EXEC_OACC_EXIT_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):
433         New prototypes.
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,
438         EXEC_OACC_EXIT_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>
445         PR fortran/58023
446         * resolve.c (resolve_fl_derived0): Continue resolving next component
447         after error.
449 2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
451         PR fortran/61933
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>
459         PR fortran/64528
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>
465         PR fortran/63733
466         * interface.c (gfc_extend_expr): Look for type-bound operators before
467         non-typebound ones.
469 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
471         PR fortran/58023
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>
477         PR fortran/64508
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
485         Library".
486         * intrinsic.texi: Likewise.
488 2015-01-10  Tobias Burnus  <burnus@net-b.de>
490         PR fortran/64522
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.
505         * decl.c: Ditto.
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.
509         * iresolve.c: Ditto.
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.
516         * options.c: Ditto.
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>
555         PR fortran/47674
556         * dependency.h:  Actually commit changes.
558 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
560         PR fortran/47674
561         * dependency.c:  Update copyright years.
562         (gfc_discard_nops):  Add prototype.
563         * dependency.c (discard_nops):  Rename to gfc_discard_nops,
564         make non-static.
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
580         dates.
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>
588         PR fortran/57562
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>
598         PR fortran/60507
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.