2015-01-18 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / fortran / ChangeLog
blob3f308f79fc1b5e8436798e794c752a20b02675b1
1 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
3         PR fortran/64578
4         * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
5         for allocatable components, where the source is a variable.
7 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
9         PR fortran/55901
10         * primary.c (gfc_match_varspec): Exclude dangling associate-
11         names with dimension 0 from being counted as arrays.
12         * resolve.c (resolve_assoc_var): Sub-strings are permissible
13         for associate-names, so exclude characters from the test for
14         misuse as arrays.
15         * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
16         the hidden string length variable of their associated target.
17         Signal this by setting 'length' to a constant, if the decl for
18         the string length is a variable.
20 2015-01-17  Paul Thomas  <pault@gcc.gnu.org>
22         PR fortran/64578
23         * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
24         before reinitializing rse, to add the rse.pre to block before
25         creating 'ptrtemp'.
26         * trans-intrinsic.c (gfc_conv_associated): Deal with the class
27         data being a descriptor.
29 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
31         PR fortran/60357
32         * primary.c (build_actual_constructor): Prevent warning.
33         * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
34         assignment): New function encapsulates treatment of allocatable
35         components.
36         (gfc_trans_subcomponent_assign): Needed to distinguish between
37         regular assignment and initilization.
38         (gfc_trans_structure_assign): Same.
39         (gfc_conv_structure): Same.
41         PR fortran/61275
42         * gfortran.h: deferred_parameter is not needed, because
43         it artificial does the trick completely.
44         * primary.c (build_actual_constructor): Same.
45         (gfc_convert_to_structure_constructor): Same.
46         * resolve.c (resolve_fl_derived0): Same.
47         * trans-expr.c (gfc_conv_component_ref): Prevent treating
48         allocatable deferred length char arrays here.
49         (gfc_trans_subcomponent_assign): Same as above.
50         * trans-types.c (gfc_sym_type): This is done in
51         gfc_get_derived_type already.
53 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
55         PR fortran/60334
56         * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
57         length when the symbol is declared to be a result.
58         * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
59         string length when functions are nested and the string length
60         is a reference already.
62 2015-01-16  Janus Weil  <janus@gcc.gnu.org>
64         PR fortran/45290
65         * decl.c (match_pointer_init): Error out if resolution of init expr
66         failed.
68 2015-01-15  Tobias Burnus  <burnus@net-b.de>
70         * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
71         resolve_oacc_deviceptr_clause, resolve_omp_clauses,
72         gfc_resolve_oacc_declare): Replace '%s' by %qs.
74 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
75             Cesar Philippidis  <cesar@codesourcery.com>
76             James Norris  <jnorris@codesourcery.com>
77             Ilmir Usmanov  <i.usmanov@samsung.com>
78             Tobias Burnus  <burnus@net-b.de>
80         * lang.opt (fopenacc): New option.
81         * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
82         * dump-parse-tree.c (show_omp_node): Split part of it into...
83         (show_omp_clauses): ... this new function.
84         (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
85         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
86         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
87         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
88         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
89         (show_namespace): Update for OpenACC.
90         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
91         (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
92         (DEF_GOACC_BUILTIN_COMPILER): New macros.
93         * types.def (BT_FN_VOID_INT_INT_VAR)
94         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
95         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
96         New function types.
97         * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
98         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
99         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
100         ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
101         ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
102         ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
103         ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
104         ST_OACC_ROUTINE.
105         (struct gfc_expr_list): New data type.
106         (gfc_get_expr_list): New macro.
107         (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
108         OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
109         OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
110         (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
111         (OMP_LIST_CACHE): New enumerators.
112         (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
113         vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
114         wait_list, tile_list, async, gang, worker, vector, seq,
115         independent, wait, par_auto, gang_static, and loc members.
116         (struct gfc_namespace): Add oacc_declare_clauses member.
117         (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
118         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
119         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
120         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
121         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
122         (gfc_free_expr_list, gfc_resolve_oacc_directive)
123         (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
124         (gfc_resolve_oacc_blocks): New prototypes.
125         * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
126         EXEC_OACC_PARALLEL_LOOP.
127         * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
128         (gfc_match_oacc_update, gfc_match_oacc_declare)
129         (gfc_match_oacc_loop, gfc_match_oacc_host_data)
130         (gfc_match_oacc_data, gfc_match_oacc_kernels)
131         (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
132         (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
133         (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
134         prototypes.
135         * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
136         (gfc_free_omp_clauses): Update for members added to struct
137         gfc_omp_clauses.
138         (gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
139         openacc parameter.
140         (resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
141         (struct fortran_omp_context): Add is_openmp member.
142         (gfc_resolve_omp_parallel_blocks): Initialize it.
143         (gfc_resolve_do_iterator): Update for OpenACC.
144         (gfc_resolve_omp_directive): Call
145         resolve_omp_directive_inside_oacc_region.
146         (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
147         (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
148         (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
149         (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
150         (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
151         (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
152         (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
153         (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
154         (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
155         (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
156         (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
157         (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
158         (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
159         (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
160         (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
161         (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
162         (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
163         (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
164         (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
165         (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
166         (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
167         (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
168         (gfc_match_omp_clauses): Handle those.
169         (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
170         (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
171         (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
172         (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
173         (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
174         (OACC_WAIT_CLAUSES): New macros.
175         (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
176         (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
177         (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
178         (gfc_match_oacc_kernels, gfc_match_oacc_data)
179         (gfc_match_oacc_host_data, gfc_match_oacc_loop)
180         (gfc_match_oacc_declare, gfc_match_oacc_update)
181         (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
182         (gfc_match_oacc_wait, gfc_match_oacc_cache)
183         (gfc_match_oacc_routine, oacc_is_loop)
184         (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
185         (check_symbol_not_pointer, check_array_not_assumed)
186         (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
187         (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
188         (omp_code_to_statement, oacc_code_to_statement)
189         (resolve_oacc_directive_inside_omp_region)
190         (resolve_omp_directive_inside_oacc_region)
191         (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
192         (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
193         (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
194         (gfc_resolve_oacc_directive): New functions.
195         * parse.c (next_free): Update for OpenACC.  Move some code into...
196         (verify_token_free): ... this new function.
197         (next_fixed): Update for OpenACC.  Move some code into...
198         (verify_token_fixed): ... this new function.
199         (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
200         ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
201         (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
202         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
203         ST_OACC_KERNELS_LOOP.
204         (case_decl): Add ST_OACC_ROUTINE.
205         (push_state, parse_critical_block, parse_progunit): Update for
206         OpenACC.
207         (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
208         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
209         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
210         ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
211         ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
212         ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
213         ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
214         ST_OACC_ROUTINE.
215         (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
216         (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
217         ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
218         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
219         (decode_oacc_directive, parse_oacc_structured_block)
220         (parse_oacc_loop, is_oacc): New functions.
221         * parse.h (struct gfc_state_data): Add oacc_declare_clauses
222         member.
223         (is_oacc): New prototype.
224         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
225         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
226         EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
227         EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
228         EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
229         EXEC_OACC_EXIT_DATA.
230         (resolve_codes): Call gfc_resolve_oacc_declare.
231         * scanner.c (openacc_flag, openacc_locus): New variables.
232         (skip_free_comments): Update for OpenACC.  Move some code into...
233         (skip_omp_attribute): ... this new function.
234         (skip_oacc_attribute): New function.
235         (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
236         * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
237         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
238         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
239         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
240         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
241         * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
242         * trans-openmp.c: Include "gomp-constants.h".
243         (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
244         instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
245         (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
246         OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
247         OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
248         OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
249         OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
250         independent, wait_list, num_gangs_expr, num_workers_expr,
251         vector_length_expr, vector, vector_expr, worker, worker_expr,
252         gang, gang_expr members.
253         (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
254         (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
255         (gfc_trans_oacc_executable_directive)
256         (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
257         (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
258         * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
259         * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
260         New prototypes.
261         * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
262         EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
263         EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
264         EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
265         EXEC_OACC_EXIT_DATA.
266         * gfortran.texi: Update for OpenACC.
267         * intrinsic.texi: Likewise.
268         * invoke.texi: Likewise.
270 2015-01-15  Janus Weil  <janus@gcc.gnu.org>
272         PR fortran/58023
273         * resolve.c (resolve_fl_derived0): Continue resolving next component
274         after error.
276 2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
278         PR fortran/61933
279         * io.c (gfc_match_inquire): Generate error if unit number in
280         inquire statement is a constant -1.  All other values allowed.
281         * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
282         (create_dummy_iostat): Delete function no longer used.
284 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
286         PR fortran/64528
287         * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
288         on dummy args with VALUE attribute.
290 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
292         PR fortran/63733
293         * interface.c (gfc_extend_expr): Look for type-bound operators before
294         non-typebound ones.
296 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
298         PR fortran/58023
299         * resolve.c (resolve_fl_derived0): Set error flag if problems with the
300         interface of a procedure-pointer component were detected.
302 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
304         PR fortran/64508
305         * interface.c (compare_parameter): Interface check for
306         procedure-pointer component as actual argument.
308 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
310         * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
311         Runtime Library" to "GNU Offloading and Multi Processing Runtime
312         Library".
313         * intrinsic.texi: Likewise.
315 2015-01-10  Tobias Burnus  <burnus@net-b.de>
317         PR fortran/64522
318         * invoke.texi (Wline-truncation): Document new behaviour.
319         * lang.opt (Wline-truncation): Add Init(-1).
320         * options.c (gfc_post_options): If -Wline-truncation is unset,
321         enable it for free-form source files; for the latter, also use
322         -Werror=line-truncation, unless -Wno-error has been specified.
324 2015-01-09  Michael Collison  <michael.collison@linaro.org>
326         * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
327         input.h, alias.h, symtab.h, options.h, fold-const.h,
328         wide-int.h, and inchash.h due to flattening of tree.h.
329         * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
330         input.h, alias.h, symtab.h, fold-const.h,
331         wide-int.h, and inchash.h due to flattening of tree.h.
332         * decl.c: Ditto.
333         * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
334         input.h, alias.h, symtab.h, options.h, fold-const.h,
335         wide-int.h, and inchash.h due to flattening of tree.h.
336         * iresolve.c: Ditto.
337         * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
338         input.h, alias.h, symtab.h, fold-const.h,
339         wide-int.h, and inchash.h due to flattening of tree.h.
340         * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
341         input.h, alias.h, symtab.h, options.h, fold-const.h,
342         wide-int.h, and inchash.h due to flattening of tree.h.
343         * options.c: Ditto.
344         * target-memory.c: Include hash-set.h, vec.h,
345         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
346         wide-int.h, and inchash.h due to flattening of tree.h.
347         * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
348         input.h, alias.h, symtab.h, options.h, fold-const.h,
349         wide-int.h, and inchash.h due to flattening of tree.h.
350         * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
351         input.h, alias.h, symtab.h, options.h, fold-const.h,
352         wide-int.h, and inchash.h due to flattening of tree.h.
353         * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
354         input.h, alias.h, symtab.h, fold-const.h,
355         wide-int.h, and inchash.h due to flattening of tree.h.
356         * trans-const.c: Ditto.
357         * trans-decl.c: Ditto.
358         * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
359         input.h, alias.h, symtab.h, options.h, fold-const.h,
360         wide-int.h, and inchash.h due to flattening of tree.h.
361         * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
362         input.h, alias.h, symtab.h, fold-const.h,
363         wide-int.h, inchash.h and real.h due to flattening of tree.h.
364         * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
365         input.h, alias.h, symtab.h, options.h, fold-const.h,
366         wide-int.h, and inchash.h due to flattening of tree.h.
367         * trans-openmp.c: Ditto.
368         * trans-stmt.c: Ditto.
369         * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
370         input.h, alias.h, symtab.h, fold-const.h,
371         wide-int.h, inchash.h and real.h due to flattening of tree.h.
373 2015-01-08  Tobias Burnus  <burnus@net-b.de>
375         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
376         for module coarrays with -fcoarray=lib.
377         (get_proc_pointer_decl): As module variable, make only public
378         when not marked as private.
380 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
382         PR fortran/47674
383         * dependency.h:  Actually commit changes.
385 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
387         PR fortran/47674
388         * dependency.c:  Update copyright years.
389         (gfc_discard_nops):  Add prototype.
390         * dependency.c (discard_nops):  Rename to gfc_discard_nops,
391         make non-static.
392         (gfc_discard_nops):  Use gfc_discard_nops.
393         (gfc_dep_difference):  Likewise.
394         * frontend-passes.c  Update copyright years.
395         (realloc_strings):  New function.  Add prototype.
396         (gfc_run_passes):  Call realloc_strings.
397         (realloc_string_callback):  New function.
398         (create_var):  Add prototype.  Handle case of a
399         scalar character variable.
400         (optimize_trim):  Do not handle allocatable variables.
402 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
404         Update copyright years.
406         * gfortranspec.c (lang_specific_driver): Update copyright notice
407         dates.
408         * gfc-internals.texi: Bump @copying's copyright year.
409         * gfortran.texi: Ditto.
410         * intrinsic.texi: Ditto.
411         * invoke.texi: Ditto.
413 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
415         PR fortran/57562
416         * expr.c (find_component_ref): Deal with extended types.
418 2015-01-02  Tobias Burnus  <burnus@net-b.de>
420         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
421         for module coarrays with -fcoarray=lib.
423 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
425         PR fortran/60507
426         * interface.c (is_procptr_result): New function to check if an
427         expression is a procedure-pointer result.
428         (compare_actual_formal): Use it.
430 Copyright (C) 2015 Free Software Foundation, Inc.
432 Copying and distribution of this file, with or without modification,
433 are permitted in any medium without royalty provided the copyright
434 notice and this notice are preserved.