]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
Merge current set of OpenACC changes from gomp-4_0-branch.
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
41dbbb37
TS
12015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2 Cesar Philippidis <cesar@codesourcery.com>
3 James Norris <jnorris@codesourcery.com>
4 Ilmir Usmanov <i.usmanov@samsung.com>
5 Tobias Burnus <burnus@net-b.de>
6
7 * lang.opt (fopenacc): New option.
8 * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
9 * dump-parse-tree.c (show_omp_node): Split part of it into...
10 (show_omp_clauses): ... this new function.
11 (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
12 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
13 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
14 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
15 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
16 (show_namespace): Update for OpenACC.
17 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
18 (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
19 (DEF_GOACC_BUILTIN_COMPILER): New macros.
20 * types.def (BT_FN_VOID_INT_INT_VAR)
21 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
22 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
23 New function types.
24 * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
25 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
26 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
27 ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
28 ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
29 ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
30 ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
31 ST_OACC_ROUTINE.
32 (struct gfc_expr_list): New data type.
33 (gfc_get_expr_list): New macro.
34 (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
35 OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
36 OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
37 (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
38 (OMP_LIST_CACHE): New enumerators.
39 (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
40 vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
41 wait_list, tile_list, async, gang, worker, vector, seq,
42 independent, wait, par_auto, gang_static, and loc members.
43 (struct gfc_namespace): Add oacc_declare_clauses member.
44 (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
45 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
46 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
47 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
48 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
49 (gfc_free_expr_list, gfc_resolve_oacc_directive)
50 (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
51 (gfc_resolve_oacc_blocks): New prototypes.
52 * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
53 EXEC_OACC_PARALLEL_LOOP.
54 * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
55 (gfc_match_oacc_update, gfc_match_oacc_declare)
56 (gfc_match_oacc_loop, gfc_match_oacc_host_data)
57 (gfc_match_oacc_data, gfc_match_oacc_kernels)
58 (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
59 (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
60 (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
61 prototypes.
62 * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
63 (gfc_free_omp_clauses): Update for members added to struct
64 gfc_omp_clauses.
65 (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
66 openacc parameter.
67 (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
68 (struct fortran_omp_context): Add is_openmp member.
69 (gfc_resolve_omp_parallel_blocks): Initialize it.
70 (gfc_resolve_do_iterator): Update for OpenACC.
71 (gfc_resolve_omp_directive): Call
72 resolve_omp_directive_inside_oacc_region.
73 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
74 (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
75 (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
76 (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
77 (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
78 (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
79 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
80 (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
81 (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
82 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
83 (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
84 (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
85 (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
86 (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
87 (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
88 (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
89 (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
90 (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
91 (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
92 (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
93 (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
94 (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
95 (gfc_match_omp_clauses): Handle those.
96 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
97 (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
98 (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
99 (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
100 (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
101 (OACC_WAIT_CLAUSES): New macros.
102 (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
103 (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
104 (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
105 (gfc_match_oacc_kernels, gfc_match_oacc_data)
106 (gfc_match_oacc_host_data, gfc_match_oacc_loop)
107 (gfc_match_oacc_declare, gfc_match_oacc_update)
108 (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
109 (gfc_match_oacc_wait, gfc_match_oacc_cache)
110 (gfc_match_oacc_routine, oacc_is_loop)
111 (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
112 (check_symbol_not_pointer, check_array_not_assumed)
113 (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
114 (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
115 (omp_code_to_statement, oacc_code_to_statement)
116 (resolve_oacc_directive_inside_omp_region)
117 (resolve_omp_directive_inside_oacc_region)
118 (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
119 (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
120 (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
121 (gfc_resolve_oacc_directive): New functions.
122 * parse.c (next_free): Update for OpenACC. Move some code into...
123 (verify_token_free): ... this new function.
124 (next_fixed): Update for OpenACC. Move some code into...
125 (verify_token_fixed): ... this new function.
126 (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
127 ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
128 (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
129 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
130 ST_OACC_KERNELS_LOOP.
131 (case_decl): Add ST_OACC_ROUTINE.
132 (push_state, parse_critical_block, parse_progunit): Update for
133 OpenACC.
134 (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
135 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
136 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
137 ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
138 ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
139 ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
140 ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
141 ST_OACC_ROUTINE.
142 (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
143 (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
144 ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
145 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
146 (decode_oacc_directive, parse_oacc_structured_block)
147 (parse_oacc_loop, is_oacc): New functions.
148 * parse.h (struct gfc_state_data): Add oacc_declare_clauses
149 member.
150 (is_oacc): New prototype.
151 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
152 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
153 EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
154 EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
155 EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
156 EXEC_OACC_EXIT_DATA.
157 (resolve_codes): Call gfc_resolve_oacc_declare.
158 * scanner.c (openacc_flag, openacc_locus): New variables.
159 (skip_free_comments): Update for OpenACC. Move some code into...
160 (skip_omp_attribute): ... this new function.
161 (skip_oacc_attribute): New function.
162 (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
163 * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
164 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
165 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
166 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
167 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
168 * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
169 * trans-openmp.c: Include "gomp-constants.h".
170 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
171 instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
172 (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
173 OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
174 OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
175 OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
176 OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
177 independent, wait_list, num_gangs_expr, num_workers_expr,
178 vector_length_expr, vector, vector_expr, worker, worker_expr,
179 gang, gang_expr members.
180 (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
181 (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
182 (gfc_trans_oacc_executable_directive)
183 (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
184 (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
185 * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
186 * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
187 New prototypes.
188 * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
189 EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
190 EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
191 EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
192 EXEC_OACC_EXIT_DATA.
193 * gfortran.texi: Update for OpenACC.
194 * intrinsic.texi: Likewise.
195 * invoke.texi: Likewise.
196
cab283f5
JW
1972015-01-15 Janus Weil <janus@gcc.gnu.org>
198
199 PR fortran/58023
200 * resolve.c (resolve_fl_derived0): Continue resolving next component
201 after error.
202
2da229cb
JD
2032015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
204
205 PR fortran/61933
206 * io.c (gfc_match_inquire): Generate error if unit number in
207 inquire statement is a constant -1. All other values allowed.
208 * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
209 (create_dummy_iostat): Delete function no longer used.
210
31ec3535
JJ
2112015-01-13 Jakub Jelinek <jakub@redhat.com>
212
213 PR fortran/64528
214 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
215 on dummy args with VALUE attribute.
216
517d78be
JW
2172015-01-11 Janus Weil <janus@gcc.gnu.org>
218
219 PR fortran/63733
220 * interface.c (gfc_extend_expr): Look for type-bound operators before
221 non-typebound ones.
222
c34d453f
JW
2232015-01-11 Janus Weil <janus@gcc.gnu.org>
224
225 PR fortran/58023
226 * resolve.c (resolve_fl_derived0): Set error flag if problems with the
227 interface of a procedure-pointer component were detected.
228
5c0ba546
JW
2292015-01-11 Janus Weil <janus@gcc.gnu.org>
230
231 PR fortran/64508
232 * interface.c (compare_parameter): Interface check for
233 procedure-pointer component as actual argument.
234
f1f3453e
TS
2352015-01-10 Thomas Schwinge <thomas@codesourcery.com>
236
237 * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
238 Runtime Library" to "GNU Offloading and Multi Processing Runtime
239 Library".
240 * intrinsic.texi: Likewise.
241
aecfd035
TB
2422015-01-10 Tobias Burnus <burnus@net-b.de>
243
244 PR fortran/64522
245 * invoke.texi (Wline-truncation): Document new behaviour.
246 * lang.opt (Wline-truncation): Add Init(-1).
247 * options.c (gfc_post_options): If -Wline-truncation is unset,
248 enable it for free-form source files; for the latter, also use
249 -Werror=line-truncation, unless -Wno-error has been specified.
250
adfac8df
JJ
2512015-01-09 Michael Collison <michael.collison@linaro.org>
252
253 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
254 input.h, alias.h, symtab.h, options.h, fold-const.h,
255 wide-int.h, and inchash.h due to flattening of tree.h.
256 * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
257 input.h, alias.h, symtab.h, fold-const.h,
258 wide-int.h, and inchash.h due to flattening of tree.h.
259 * decl.c: Ditto.
260 * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
261 input.h, alias.h, symtab.h, options.h, fold-const.h,
262 wide-int.h, and inchash.h due to flattening of tree.h.
263 * iresolve.c: Ditto.
264 * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
265 input.h, alias.h, symtab.h, fold-const.h,
266 wide-int.h, and inchash.h due to flattening of tree.h.
267 * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
268 input.h, alias.h, symtab.h, options.h, fold-const.h,
269 wide-int.h, and inchash.h due to flattening of tree.h.
270 * options.c: Ditto.
271 * target-memory.c: Include hash-set.h, vec.h,
272 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
273 wide-int.h, and inchash.h due to flattening of tree.h.
274 * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
275 input.h, alias.h, symtab.h, options.h, fold-const.h,
276 wide-int.h, and inchash.h due to flattening of tree.h.
277 * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
278 input.h, alias.h, symtab.h, options.h, fold-const.h,
279 wide-int.h, and inchash.h due to flattening of tree.h.
280 * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
281 input.h, alias.h, symtab.h, fold-const.h,
282 wide-int.h, and inchash.h due to flattening of tree.h.
283 * trans-const.c: Ditto.
284 * trans-decl.c: Ditto.
285 * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
286 input.h, alias.h, symtab.h, options.h, fold-const.h,
287 wide-int.h, and inchash.h due to flattening of tree.h.
288 * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
289 input.h, alias.h, symtab.h, fold-const.h,
290 wide-int.h, inchash.h and real.h due to flattening of tree.h.
291 * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
292 input.h, alias.h, symtab.h, options.h, fold-const.h,
293 wide-int.h, and inchash.h due to flattening of tree.h.
294 * trans-openmp.c: Ditto.
295 * trans-stmt.c: Ditto.
296 * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
297 input.h, alias.h, symtab.h, fold-const.h,
298 wide-int.h, inchash.h and real.h due to flattening of tree.h.
299
de1184c0
TB
3002015-01-08 Tobias Burnus <burnus@net-b.de>
301
302 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
303 for module coarrays with -fcoarray=lib.
304 (get_proc_pointer_decl): As module variable, make only public
305 when not marked as private.
306
73b44fa4
TK
3072015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
308
309 PR fortran/47674
310 * dependency.h: Actually commit changes.
311
8b7cec58
TK
3122015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
313
314 PR fortran/47674
315 * dependency.c: Update copyright years.
316 (gfc_discard_nops): Add prototype.
317 * dependency.c (discard_nops): Rename to gfc_discard_nops,
318 make non-static.
319 (gfc_discard_nops): Use gfc_discard_nops.
320 (gfc_dep_difference): Likewise.
321 * frontend-passes.c Update copyright years.
322 (realloc_strings): New function. Add prototype.
323 (gfc_run_passes): Call realloc_strings.
324 (realloc_string_callback): New function.
325 (create_var): Add prototype. Handle case of a
326 scalar character variable.
327 (optimize_trim): Do not handle allocatable variables.
328
b67cd4e3
JJ
3292015-01-05 Jakub Jelinek <jakub@redhat.com>
330
5624e564
JJ
331 Update copyright years.
332
b67cd4e3
JJ
333 * gfortranspec.c (lang_specific_driver): Update copyright notice
334 dates.
335 * gfc-internals.texi: Bump @copying's copyright year.
336 * gfortran.texi: Ditto.
337 * intrinsic.texi: Ditto.
338 * invoke.texi: Ditto.
339
74a1c62f
JW
3402015-01-02 Janus Weil <janus@gcc.gnu.org>
341
342 PR fortran/57562
343 * expr.c (find_component_ref): Deal with extended types.
344
213ab0a6
TB
3452015-01-02 Tobias Burnus <burnus@net-b.de>
346
347 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
348 for module coarrays with -fcoarray=lib.
349
4294c093 3502015-01-02 Janus Weil <janus@gcc.gnu.org>
2e9cc48c 351
4294c093
JW
352 PR fortran/60507
353 * interface.c (is_procptr_result): New function to check if an
354 expression is a procedure-pointer result.
355 (compare_actual_formal): Use it.
09de7c25 356^L
213ab0a6 357Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
358
359Copying and distribution of this file, with or without modification,
360are permitted in any medium without royalty provided the copyright
361notice and this notice are preserved.
This page took 2.000175 seconds and 5 git commands to generate.