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