]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
simplify.c (gfc_simplify_cshift): Implement simplification of CSHIFT.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
2
3 * simplify.c (gfc_simplify_cshift): Implement simplification of
4 CSHIFT for rank=1 arrays.
5 (gfc_simplify_spread): Remove a FIXME and add error condition.
6 * intrinsic.h: Prototype for gfc_simplify_cshift
7 * intrinsic.c (add_functions): Use gfc_simplify_cshift.
8
9 2015-11-20 Steven G. Kargl <kargl@gcc.gnu.org>
10
11 PR fortran/68237
12 * decl.c (gfc_match_submod_proc): Test the interface symbol
13 before accessing its attributes.
14
15 2015-11-20 Paul Thomas <pault@gcc.gnu.org>
16
17 PR fortran/66762
18 (gfc_get_symbol_decl): Test for attr.used_in_submodule as well
19 as attr.use_assoc (twice).
20 (gfc_create_module_variable): Ditto.
21
22 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
23
24 PR fortran/59910
25 * primary.c (gfc_match_structure_constructor): Reduce a structure
26 constructor in a DATA statement.
27
28 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
29
30 PR fortran/43996
31 * simplify.c (gfc_simplify_spread): Issue error for too large array
32 constructor in a PARAMETER statement.
33
34 2015-11-17 Steven G. Kargl <kargl@gcc.gnu.org>
35
36 * primary.c (gfc_match_structure_constructor): Fix whitespace.
37
38 2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr>
39
40 PR fortran/65751
41 * expr.c (gfc_check_pointer_assign): Fix error message.
42
43 2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
44
45 PR fortran/58027
46 PR fortran/60993
47 * expr.c (gfc_check_init_expr): Prevent a redundant check when a
48 __convert_* function was inserted into an array constructor.
49 (gfc_check_assign_symbol): Check for an initialization expression
50 when a __convert_* was inserted.
51
52 2015-11-15 Paul Thomas <pault@gcc.gnu.org>
53
54 PR fortran/50221
55 PR fortran/68216
56 PR fortran/63932
57 PR fortran/66408
58 * trans_array.c (gfc_conv_scalarized_array_ref): Pass the
59 symbol decl for deferred character length array references.
60 * trans-stmt.c (gfc_trans_allocate): Keep the string lengths
61 to update deferred length character string lengths.
62 * trans-types.c (gfc_get_dtype_rank_type); Use the string
63 length of deferred character types for the dtype size.
64 * trans.c (gfc_build_array_ref): For references to deferred
65 character arrays, use the domain max value, if it is a variable
66 to set the 'span' and use pointer arithmetic for acces to the
67 element.
68 (trans_code): Set gfc_current_locus for diagnostic purposes.
69
70 PR fortran/67674
71 * trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
72 string lengths of components.
73
74 PR fortran/49954
75 * resolve.c (deferred_op_assign): New function.
76 (gfc_resolve_code): Call it.
77 * trans-array.c (concat_str_length): New function.
78 (gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
79 realloc blocks for deferred character length arrays because the
80 string length might change, even if the shape is the same. Call
81 concat_str_length to obtain the string length for concatenation
82 since it is needed to compute the lhs string length.
83 Set the descriptor dtype appropriately for the new string
84 length.
85 * trans-expr.c (gfc_trans_assignment_1): Use the rse string
86 length for all characters, other than deferred types. For
87 concatenation operators, push the rse.pre block to the inner
88 most loop so that the temporary pointer and the assignments
89 are properly placed.
90
91 2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
92
93 PR fortran/67803
94 * array.c (gfc_match_array_constructor): If array constructor included
95 a CHARACTER typespec, check array elements for compatible type.
96
97 2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
98
99 PR fortran/68319
100 * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
101 * io.c (gfc_match_format): Ditto.
102 * match.c (gfc_match_st_function): Ditto.
103
104 2015-11-13 David Malcolm <dmalcolm@redhat.com>
105
106 * error.c (gfc_warning): Pass line_table to rich_location ctor.
107 (gfc_warning_now_at): Likewise.
108 (gfc_warning_now): Likewise.
109 (gfc_error_now): Likewise.
110 (gfc_fatal_error): Likewise.
111 (gfc_error): Likewise.
112 (gfc_internal_error): Likewise.
113
114 2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
115
116 PR fortran/68318
117 * decl.c (get_proc_name): Increment reference count for ENTRY.
118 While here, fix comment and use postfix ++ for consistency.
119
120 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
121
122 * array.c: Remove unused header files.
123 * convert.c: Likewise.
124 * cpp.c: Likewise.
125 * decl.c: Likewise.
126 * f95-lang.c: Likewise.
127 * frontend-passes.c: Likewise.
128 * iresolve.c: Likewise.
129 * match.c: Likewise.
130 * module.c: Likewise.
131 * options.c: Likewise.
132 * parse.c: Likewise.
133 * target-memory.c: Likewise.
134 * trans-array.c: Likewise.
135 * trans-common.c: Likewise.
136 * trans-const.c: Likewise.
137 * trans-decl.c: Likewise.
138 * trans-expr.c: Likewise.
139 * trans-intrinsic.c: Likewise.
140 * trans-io.c: Likewise.
141 * trans-openmp.c: Likewise.
142 * trans-stmt.c: Likewise.
143 * trans-types.c: Likewise.
144 * trans.c: Likewise.
145
146 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
147
148 PR fortran/67826
149 * openmp.c (gfc_omp_udr_find): Fix typo.
150
151 2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org>
152
153 PR fortran/68053
154 * decl.c (add_init_expr_to_sym): Try to reduce initialization expression
155 before testing for a constant value.
156
157 2015-11-08 Andre Vehreschild <vehre@gcc.gnu.org>
158
159 PR fortran/68218
160 * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
161 array spec in allocate is a function call.
162
163 2015-11-08 Steven G. Kargl <kargl@gc.gnu.org>
164
165 PR fortran/68224
166 * array.c (match_array_element_spec): Check of invalid NULL().
167 While here, fix nearby comments.
168
169 2015-11-08 Paul Thomas <pault@gcc.gnu.org>
170
171 PR fortran/68196
172 * class.c (has_finalizer_component): Prevent infinite recursion
173 through this function if the derived type and that of its
174 component are the same.
175 * trans-types.c (gfc_get_derived_type): Do the same for proc
176 pointers by ignoring the explicit interface for the component.
177
178 PR fortran/66465
179 * check.c (same_type_check): If either of the expressions is
180 BT_PROCEDURE, use the typespec from the symbol, rather than the
181 expression.
182
183 2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
184
185 PR fortran/68153
186 * check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
187
188 2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
189
190 PR fortran/68151
191 * match.c (match_case_selector): Check for invalid type.
192
193 2015-11-06 David Malcolm <dmalcolm@redhat.com>
194
195 * cpp.c (cb_cpp_error): Convert parameter from location_t to
196 rich_location *. Eliminate the "column_override" parameter.
197 * error.c (gfc_warning): Update for change in signature of
198 diagnostic_set_info.
199 (gfc_format_decoder): Update handling of %C/%L for changes
200 to struct text_info.
201 (gfc_diagnostic_starter): Use richloc when determining whether to
202 print one locus or two. When handling a location that will
203 involve a call to diagnostic_show_locus, only attempt to print the
204 locus for the primary location, and don't call into
205 diagnostic_print_caret_line.
206 (gfc_warning_now_at): Update for change in signature of
207 diagnostic_set_info.
208 (gfc_warning_now): Likewise.
209 (gfc_error_now): Likewise.
210 (gfc_fatal_error): Likewise.
211 (gfc_error): Likewise.
212 (gfc_internal_error): Likewise.
213
214 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
215
216 * openmp.c (gfc_match_omp_clauses): Update support for the tile
217 and default clauses in OpenACC.
218 (gfc_match_oacc_update): Error when data clauses are supplied.
219 (oacc_compatible_clauses): Delete.
220 (resolve_omp_clauses): Give special care for OpenACC reductions.
221 Also update error reporting for the tile clause.
222 (resolve_oacc_loop_blocks): Update error reporting for the tile clause.
223 * trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add
224 OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument.
225 (gfc_trans_oacc_combined_directive): Update the list of clauses which
226 are split to acc loops.
227
228 2015-11-05 Jakub Jelinek <jakub@redhat.com>
229
230 * types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
231 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
232
233 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
234 Chung-Lin Tang <cltang@codesourcery.com>
235
236 * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
237 ST_OACC_END_ATOMIC.
238 (gfc_exec_op): Add EXEC_OACC_ATOMIC.
239 * match.h (gfc_match_oacc_atomic): New prototype.
240 * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
241 wrapper functions around...
242 (gfc_match_omp_oacc_atomic): ... this new function.
243 (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
244 EXEC_OACC_ATOMIC.
245 * parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
246 (case_exec_markers): Add ST_OACC_ATOMIC.
247 (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
248 (parse_omp_atomic): Rename to...
249 (parse_omp_oacc_atomic): ... this new function. Add omp_p formal
250 parameter. Adjust all users.
251 (parse_executable): Handle ST_OACC_ATOMIC.
252 (is_oacc): Handle EXEC_OACC_ATOMIC.
253 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
254 EXEC_OACC_ATOMIC.
255 * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
256 * trans-openmp.c (gfc_trans_oacc_directive): Handle
257 EXEC_OACC_ATOMIC.
258 * trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
259
260 2015-10-31 Cesar Philippidis <cesar@codesourcery.com>
261
262 PR Bootstrap/68168
263
264 * openmp.c (resolve_omp_clauses): Pass &n->where when calling
265 gfc_error.
266
267 2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
268
269 * gfortran.h (gfc_omp_namespace): Add locus where member.
270 * openmp.c (gfc_match_omp_variable_list): Set where for each list
271 item found.
272 (resolve_omp_clauses): Remove where argument and use the where
273 gfc_omp_namespace member when reporting errors.
274 (resolve_omp_do): Update call to resolve_omp_clauses.
275 (resolve_oacc_loop): Likewise.
276 (gfc_resolve_oacc_directive): Likewise.
277 (gfc_resolve_omp_directive): Likewise.
278 (gfc_resolve_omp_declare_simd): Likewise.
279
280 2015-10-15 Steven G. Kargl <kargl@gcc.gnu.org>
281
282 PR fortran/51993
283 * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
284 if-statement causing an early return leads to valid error message.
285
286 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
287
288 PR fortran/36192
289 * interface.c (get_expr_storage_size): Check for INTEGER type before
290 calling gmp routines.
291
292 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
293
294 PR fortran/68154
295 * decl.c (add_init_expr_to_sym): if the char length in the typespec
296 is NULL, check for and use a constructor.
297
298 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
299
300 PR fortran/68054
301 * decl.c (match_attr_spec): PROTECTED can only be a module.
302
303 2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
304
305 PR fortran/67885
306 * trans-decl.c (generate_local_decl): Mark PARAMETER entities in
307 BLOCK construct.
308
309 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
310
311 * array.c: Reorder #include's and remove duplicates.
312 * convert.c: Likewise.
313 * cpp.c: Likewise.
314 * decl.c: Likewise.
315 * f95-lang.c: Likewise.
316 * frontend-passes.c: Likewise.
317 * iresolve.c: Likewise.
318 * match.c: Likewise.
319 * module.c: Likewise.
320 * options.c: Likewise.
321 * parse.c: Likewise.
322 * resolve.c: Likewise.
323 * simplify.c: Likewise.
324 * target-memory.c: Likewise.
325 * trans-array.c: Likewise.
326 * trans-common.c: Likewise.
327 * trans-const.c: Likewise.
328 * trans-decl.c: Likewise.
329 * trans-expr.c: Likewise.
330 * trans-intrinsic.c: Likewise.
331 * trans-io.c: Likewise.
332 * trans-openmp.c: Likewise.
333 * trans-stmt.c: Likewise.
334 * trans-types.c: Likewise.
335 * trans.c: Likewise.
336
337 2015-10-29 Richard Biener <rguenther@suse.de>
338
339 * f95-lang.c: Properly build variadic types for classification
340 and comparison builtins.
341
342 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
343 James Norris <jnorris@codesourcery.com>
344
345 PR fortran/63865
346 * openmp.c (resolve_oacc_cache): Remove function.
347 (gfc_match_oacc_cache): Enable array sections.
348 (resolve_omp_clauses, gfc_resolve_oacc_directive): Change
349 accordingly.
350 * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
351
352 2015-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
353
354 PR fortran/68108
355 * decl.c (char_len_param_value): Check for REF_ARRAY.
356
357 2015-10-26 Louis Krupp <louis.krupp@zoho.com>
358
359 PR fortran/66056
360 * fortran.h: Include namespace pointer in statement label
361 structure.
362 * symbol.c (gfc_get_st_label): Store pointer to namespace
363 that owns the statement label tree in each label.
364 (gfc_free_st_label): Use namespace owning statement label
365 tree when deleting statement label.
366 * io.c: Initialize format_asterisk with NULL namespace pointer.
367
368 2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
369
370 PR fortran/36192
371 * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling
372 mpz_set.
373
374 2015-10-26 Andre Vehreschild <vehre@gcc.gnu.org>
375
376 PR fortran/66927
377 * trans-array.c (evaluate_bound): For deferred length arrays get the
378 bounds directly from the descriptor, i.e., prevent using constant
379 zero lower bound from the gfc_conv_array_lbound () routine.
380 (gfc_conv_section_startstride): Hand deferred array status to
381 evaluate_bound ().
382 (gfc_conv_expr_descriptor): Same.
383
384 2015-01-25 Paul Thomas <pault@gcc.gnu.org>
385
386 PR fortran/67171
387 * trans-array.c (structure_alloc_comps): On deallocation of
388 class components, reset the vptr to the declared type vtable
389 and reset the _len field of unlimited polymorphic components.
390 *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
391 allocatable component references to the right of part reference
392 with non-zero rank and return NULL.
393 (gfc_reset_vptr): Simplify this function by using the function
394 gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
395 (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
396 NULL return.
397 * trans-stmt.c (gfc_trans_allocate): Rely on the use of
398 gfc_trans_assignment if expr3 is a variable expression since
399 this deals correctly with array sections.
400
401 2015-10-25 Andre Vehreschild <vehre@gcc.gnu.org>
402
403 PR fortran/66927
404 PR fortran/67044
405 * trans-array.c (build_array_ref): Modified call to
406 gfc_get_class_array_ref to adhere to new interface.
407 (gfc_conv_expr_descriptor): For one-based arrays that
408 are filled by a loop starting at one the start index of the
409 source array has to be mangled into the offset.
410 * trans-expr.c (gfc_get_class_array_ref): When the tree to get
411 the _data component is present already, add a way to supply it.
412 (gfc_copy_class_to_class): Allow to copy to a derived type also.
413 * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor
414 for functions returning a class or derived object. Get the
415 reference instead.
416 * trans.h: Interface change of gfc_get_class_array_ref.
417
418 2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
419
420 PR fortran/68055
421 * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
422 declarations.
423
424 2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
425
426 PR fortran/67805
427 * array.c (gfc_match_array_constructor): Check for error from type
428 spec matching.
429 * decl.c (char_len_param_value): Check for valid of charlen parameter.
430 Reap dead code dating to 2008.
431 match.c (gfc_match_type_spec): Special case the keyword use in REAL.
432
433 2015-10-23 Mikhail Maltsev <maltsevm@gmail.com>
434
435 * trans-common.c (create_common): Adjust to use flag_checking.
436 * trans.c (gfc_add_modify_loc): Use gcc_checking_assert.
437
438 2015-10-21 Martin Sebor <msebor@redhat.com>
439
440 PR driver/68043
441 * lang.opt: End each sentence that describes an option with a period.
442
443 2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
444
445 PR fortran/67939
446 * data.c (create_character_initializer): Deal with zero length string.
447
448 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
449
450 * resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
451
452 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
453
454 PR fortran/68019
455 * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
456 message to be issued.
457
458 2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
459
460 PR fortran/67758
461 * gfortran.h (gfc_symbol): Expand comment.
462 * match.c (gfc_match_common): Delay adding the symbol to
463 the common_block after the gfc_add_in_common call.
464 * symbol.c (gfc_free_symbol): Move common block memory handling...
465 (gfc_set_symbol_common_block): ... here as a new function.
466 (restore_old_symbol): Restore common block fields.
467 (gfc_restore_last_undo_checkpoint):
468 Check the common_block pointer instead of the in_common attribute.
469 When a symbol has been removed from the common block linked list,
470 clear its common_next pointer.
471
472 2015-10-18 Paul Thomas <pault@gcc.gnu.org>
473
474 PR fortran/67177
475 PR fortran/67977
476 * primary.c (match_substring): Add an argument 'deferred' to
477 flag that a substring reference with null start and end should
478 not be optimized away for deferred length strings.
479 (match_string_constant, gfc_match_rvalue): Set the argument.
480 * trans-expr.c (alloc_scalar_allocatable_for_assignment): If
481 there is a substring reference return.
482 * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
483 characters, assign the 'from' string length to the 'to' string
484 length. If the 'from' expression is deferred, set its string
485 length to zero. If the 'to' expression has allocatable
486 components, deallocate them.
487
488 2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
489
490 PR fortran/67987
491 * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0,
492 force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
493 * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
494 If 'start' is larger than 'end', length of substring is negative,
495 so explicitly set it to zero.
496 (resolve_charlen): Remove -Wsurprising warning. Update comment to
497 reflect that the text is from the F2008 standard.
498
499 2015-10-16 Richard Biener <rguenther@suse.de>
500
501 * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust
502 calls to build_addr.
503 (gfc_conv_intrinsic_mod): Likewise.
504 (gfc_conv_intrinsic_ctime): Likewise.
505 (gfc_conv_intrinsic_fdate): Likewise.
506 (gfc_conv_intrinsic_ttynam): Likewise.
507 (gfc_conv_intrinsic_minmax_char): Likewise.
508 (gfc_conv_intrinsic_index_scan_verify): Likewise.
509 (gfc_conv_intrinsic_trim): Likewise.
510
511 2015-10-14 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
512
513 * parse.c (decode_statement): Initialize M to MATCH_NO.
514
515 2015-10-13 Jakub Jelinek <jakub@redhat.com>
516 Ilya Verbin <ilya.verbin@intel.com>
517
518 * f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
519 DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
520 * trans-openmp.c (gfc_trans_omp_clauses): Set
521 OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
522 to NULL.
523 (gfc_trans_omp_critical): Adjust for addition of clauses.
524 (gfc_trans_omp_ordered): Likewise.
525 * types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
526 BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
527 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
528 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
529 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
530 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
531 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
532 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
533 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
534 BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
535 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
536 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
537 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
538
539 2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org>
540
541 PR fortran/65889
542 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and
543 on stack class objects as sizeof parameter.
544
545 2015-10-06 Louis Krupp <louis.krupp@zoho.com>
546 PR fortran/65766
547 * resolve.c (gfc_resolve_substring_charlen): For derived type,
548 use typespec of string component when resolving substring length.
549
550 2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
551
552 * match.c (gfc_match_common): Remove dead variable old_blank_common.
553
554 2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
555
556 PR fortran/67758
557 * match.c (gfc_match_common): Delay the common_block pointer
558 assignment after error checking.
559 Delay the call to gfc_add_in_common attribute after the handling
560 of array specs.
561 * resolve.c (resolve_common_vars): Call gfc_add_in_common again.
562
563 2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
564
565 * resolve.c (resolve_common_vars): Move access to the common
566 block's head symbol inside the function.
567 (resolve_common_blocks, resolve_types): Update callers.
568
569 2015-10-01 Louis Krupp <louis.krupp@zoho.com>
570
571 PR fortran/62242
572 PR fortran/52332
573 * trans-array.c
574 (store_backend_decl): Create new gfc_charlen instance if requested
575 (get_array_ctor_all_strlen): Call store_backend_decl requesting
576 new gfc_charlen
577 (trans_array_constructor): Call store_backend_decl requesting
578 new gfc_charlen if get_array_ctor_strlen was called
579 (gfc_add_loop_ss_code): Don't try to convert non-constant length
580
581 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
582
583 PR fortran.67802
584 * decl.c (add_init_expr_to_sym): Numeric constant for character
585 length must be an INTEGER.
586
587 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
588
589 PR fortran/66979
590 * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
591 missing 'return false'.
592
593 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
594
595 PR fortran/67616
596 * primary.c (gfc_match_structure_constructor): Use a possibly
597 host-associated symtree to prevent ICE.
598
599 2015-09-28 Paul Thomas <pault@gcc.gnu.org>
600
601 PR fortran/40054
602 PR fortran/63921
603 * decl.c (get_proc_name): Return if statement function is
604 found.
605 * expr.c (gfc_check_vardef_context): Add error return for
606 derived type expression lacking the derived type itself.
607 * match.c (gfc_match_ptr_fcn_assign): New function.
608 * match.h : Add prototype for gfc_match_ptr_fcn_assign.
609 * parse.c : Add static flag 'in_specification_block'.
610 (decode_statement): If in specification block match a statement
611 function, then, if no error arising from statement function
612 matching, try to match pointer function assignment.
613 (parse_interface): Set 'in_specification_block' on exiting from
614 parse_spec.
615 (parse_spec): Set and then reset 'in_specification_block'.
616 (gfc_parse_file): Set 'in_specification_block'.
617 * resolve.c (get_temp_from_expr): Extend to include functions
618 and array constructors as rvalues..
619 (resolve_ptr_fcn_assign): New function.
620 (gfc_resolve_code): Call it on finding a pointer function as an
621 lvalue. If valid or on error, go back to start of resolve_code.
622 * symbol.c (gfc_add_procedure): Add a sentence to the error to
623 flag up the ambiguity between a statement function and pointer
624 function assignment at the end of the specification block.
625
626 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
627
628 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
629 (DEF_FUNCTION_TYPE_VAR_11): Delete.
630 * types.def (DEF_FUNCTION_TYPE_VAR_6): New.
631 (DEF_FUNCTION_TYPE_VAR_11): Delete.
632
633 2015-09-26 Mikael Morin <mikael@gcc.gnu.org>
634
635 PR fortran/67721
636 * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
637 condition guarding deep copy.
638
639 2013-09-26 Paul Thomas <pault@gcc.gnu.org>
640
641 PR fortran/67567
642 * resolve.c (resolve_fl_procedure): For module procedures, take
643 the parent module name and the submodule name from the name of
644 the namespace.
645
646 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
647
648 PR fortran/67614
649 * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
650
651 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
652
653 PR fortran/67525
654 * parse.c (match_deferred_characteristics): Remove an assert, which
655 allows an invalid SELECT TYPE selector to be detected.
656
657 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
658
659 PR pretty-print/67567
660 * resolve.c (resolve_fl_procedure): Work-around when iface->module
661 == NULL.
662
663 2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
664
665 * resolve.c (nonscalar_typebound_assign): Fix typos in comment.
666
667 2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
668
669 PR fortran/67615
670 * resolve.c (gfc_resolve_code): Check for scalar expression in
671 arithmetic-if.
672
673 2015-09-17 Paul Thomas <pault@gcc.gnu.org>
674
675 PR fortran/52846
676 PR fortran/67588
677 * module.c : Add static no_module_procedures.
678 (gfc_match_submodule): Correct memory leakage caused during the
679 freeing of use_lists.
680 (mio_symbol_attribute): Reset above if module procedure is
681 encountered.
682 (gfc_dump_module): Set above and exit without writing smod file
683 if it reset.
684 * gfortran.texi : Add section on submodule support.
685
686 2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
687
688 PR fortran/67526
689 * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
690
691 2015-09-10 Paul Thomas <pault@gcc.gnu.org>
692
693 PR fortran/66993
694 * module.c (read_module): If a symtree exists and the symbol has
695 been associated in a submodule from a parent (sub)module, attach
696 the symbol to a 'unique symtree' and the new symbol to the
697 existing symtree.
698
699 2015-09-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
700
701 * intrinsic.h (gfc_simplify_mvbits): Remove.
702 * simplify.c (gfc_simplify_mvbits): Remove.
703 * intrinsic.c (add_subroutines): Remove reference to
704 gfc_simplify_mvbits.
705
706 2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
707
708 PR fortran/67429
709 * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
710 caret lines might be skipped when actually giving a diagnostic.
711
712 2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
713
714 PR fortran/54833
715 * trans.c (gfc_call_free): Don't check if pointer is NULL.
716 * trans.h (gfc_call_free): Adjust comment.
717
718 2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
719
720 * trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
721 gfc_allocate_using_lib, gfc_allocate_allocatable,
722 gfc_call_realloc): Simplify code.
723 * trans-array.c (gfc_trans_allocate_array_storage,
724 gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
725 convert gfc_call_free() argument.
726 * trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
727 fcncall_realloc_result): Likewise.
728 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.
729
730 2015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
731
732 PR fortran/53668
733 * intrinsic.c (add_functions, add_subroutines): Remove resolution
734 functions for FREE and MALLOC.
735 * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
736 * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
737 * trans-intrinsic.c (conv_intrinsic_free,
738 gfc_conv_intrinsic_malloc): New functions.
739
740 2015-08-24 Louis Krupp <louis.krupp@zoho.com>
741
742 PR fortran/62536
743 PR fortran/66175
744 * decl.c (gfc_match_end): Clean up nested BLOCKs.
745 * parse.c (parse_block_construct): Deal gracefully with cleaned-up
746 BLOCKs.
747
748 2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
749
750 PR libfortran/54572
751 * config-lang.in: Add libbacktrace to target_libs.
752
753 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
754
755 * dependency.c, dependency.h, gfortran.h, io.c, module.c,
756 parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs.
757
758 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
759
760 PR fortran/54656
761 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
762 for quadruple precision BUILT_IN_SQRT.
763
764 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
765
766 * trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
767 generic BUILT_IN_SIGNBIT.
768 (conv_intrinsic_ieee_copy_sign): Likewise.
769 * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
770 BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
771 BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
772 variants of BUILT_IN_SIGNBIT.
773 * mathbuiltins.def: Remove SIGNBIT.
774
775 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
776
777 PR fortran/41387
778 * gfortran.texi: New section "File operations on symbolic links".
779
780 2015-08-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
781
782 PR fortran/67059
783 * gfortranspec.c (lang_specific_driver): Adjust --version output.
784
785 2015-08-08 Bud Davis <jmdavis@link.com>
786 Mikael Morin <mikael@gcc.gnu.org>
787
788 PR fortran/59746
789 * symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
790 symbol if it was put in the list.
791
792 2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
793
794 PR fortran/64104
795 * expr.c (gfc_check_init_expr): Allow some IEEE functions in
796 constant expressions.
797 (external_spec_function): Allow some IEEE functions in specification
798 expressions.
799 * simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
800 (simplify_ieee_selected_real_kind, simplify_ieee_support,
801 matches_ieee_function_name, gfc_simplify_ieee_functions): New
802 functions.
803 * gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
804 prototype.
805 (gfc_simplify_ieee_functions): Add prototype.
806
807 2015-08-06 Mikael Morin <mikael@gcc.gnu.org>
808
809 * trans.h (gfc_trans_scalar_assign): Remove fourth argument.
810 * trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
811 argument.
812 (gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
813 gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
814 * trans-array.c (gfc_conv_expr_descriptor): Ditto.
815 * trans-stmt.c (forall_make_variable_temp,
816 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
817 gfc_trans_where_assign, gfc_trans_where_3): Ditto.
818
819 2015-08-05 Paul Thomas <pault@gcc.gnu.org>
820
821 PR fortran/52846
822 * module.c (check_access): Return true if new static flag
823 'dump_smod' is true..
824 (gfc_dump_module): Rename original 'dump_module' and call from
825 new version. Use 'dump_smod' rather than the stack state to
826 determine if a submodule is being processed. The new version of
827 this procedure sets 'dump_smod' depending on the stack state and
828 then writes both the mod and smod files if a module is being
829 processed or just the smod for a submodule.
830 (gfc_use_module): Eliminate the check for module_name and
831 submodule_name being the same.
832 * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array,
833 get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use
834 the conditions to set DECL_VISIBILITY as hidden and to set as
835 true DECL_VISIBILITY_SPECIFIED.
836
837 2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
838
839 PR fortran/64022
840 * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
841 support to all real kinds.
842
843 2015-08-03 Steven G. Kargl <kargl@gcc.gnu.org>
844
845 PR fortran/66942
846 * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
847
848 2015-08-03 Mikael Morin <mikael@gcc.gnu.org>
849
850 PR fortran/64921
851 * class.c (generate_finalization_wrapper): Set finalization
852 procedure symbol's always_explicit attribute.
853
854 2015-08-01 Paul Thomas <pault@gcc.gnu.org>
855
856 PR fortran/67091
857 * trans-intrinsic.c (gfc_conv_associated): Add the pre and post
858 blocks for the second argument to se.
859
860 2015-07-27 Thomas Schwinge <thomas@codesourcery.com>
861
862 * parse.c (parse_oacc_structured_block): Fix logic error.
863 Reported by Mikael Morin <mikael.morin@sfr.fr>.
864
865 2015-07-24 Mikael Morin <mikael@gcc.gnu.org>
866
867 PR fortran/64986
868 * trans-expr.c (gfc_trans_assignment_1): Put component deallocation
869 code at the beginning of the block.
870
871 2015-07-22 Mikael Morin <mikael@gcc.gnu.org>
872
873 PR fortran/61831
874 PR fortran/66929
875 * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
876 symbol if available.
877
878 2015-07-17 Paul Thomas <pault@gcc.gnu.org>
879
880 PR fortran/52846
881 * decl.c (gfc_match_end): Pick out declared submodule name from
882 the composite identifier.
883 * gfortran.h : Add 'submodule_name' to gfc_use_list structure.
884 * module.c (gfc_match_submodule): Define submodule_name and add
885 static 'submodule_name'.
886 (gfc_match_submodule): Build up submodule filenames, using '@'
887 as a delimiter. Store the output filename in 'submodule_name'.
888 Similarly, the submodule identifier is built using '.' as an
889 identifier.
890 (gfc_dump_module): If current state is COMP_SUBMODULE, write
891 to file 'submodule_name', using SUBMODULE_EXTENSION.
892 (gfc_use_module): Similarly, use the 'submodule_name' field in
893 the gfc_use_list structure and SUBMODULE_EXTENSION to read the
894 implicitly used submodule files.
895
896 2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
897
898 * trans-intrinsic.c (conv_co_collective): Remove redundant address
899 operator in the generated code.
900
901 2015-07-17 Andre Vehreschild <vehre@gcc.gnu.org>
902
903 PR fortran/66035
904 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
905 Compute the size to allocate for class and derived type objects
906 correclty.
907 (gfc_trans_subcomponent_assign): Only allocate memory for a
908 component when the object to assign is not an allocatable class
909 object (the memory is already present for allocatable class objects).
910 Furthermore use copy_class_to_class for assigning the rhs to the
911 component (may happen for dummy class objects on the rhs).
912
913 2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
914 Dominique d'Humieres <dominiq@lps.ens.fr>
915
916 PR fortran/61831
917 * trans-array.c (gfc_conv_array_parameter): Guard allocatable
918 component deallocation code generation with descriptorless
919 calling convention flag.
920 * trans-expr.c (gfc_conv_expr_reference): Remove allocatable
921 component deallocation code generation from revision 212329.
922 (expr_may_alias_variables): New function.
923 (gfc_conv_procedure_call): New boolean elemental_proc to factor
924 check for procedure elemental-ness. Rename boolean f to nodesc_arg
925 and declare it in the outer scope. Use expr_may_alias_variables,
926 elemental_proc and nodesc_arg to decide whether generate allocatable
927 component deallocation code.
928 (gfc_trans_subarray_assign): Set deep copy flag.
929
930 2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
931
932 PR fortran/66724
933 PR fortran/66724
934 * io.c (is_char_type): Call gfc_resolve_expr ().
935 (match_open_element, match_dt_element, match_inquire_element): Fix
936 ASYNCHRONOUS case.
937
938 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
939
940 * trans-types.c: Remove multiline #include comment.
941
942 2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
943
944 * simplify.c (gfc_simplify_floor): Set precision of temporary to
945 that of arg.
946
947 2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
948
949 PR fortran/64589
950 * class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
951 types in the top-level namespace.
952
953 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
954
955 * trans-stmt.c: Fix double word typos.
956
957 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
958
959 * arith.c: Adjust includes for flags.h changes.
960 * array.c: Likewise.
961 * check.c: Likewise.
962 * decl.c: Likewise.
963 * error.c: Likewise.
964 * expr.c: Likewise.
965 * frontend-passes.c: Likewise.
966 * interface.c: Likewise.
967 * intrinsic.c: Likewise.
968 * io.c: Likewise.
969 * match.c: Likewise.
970 * openmp.c: Likewise.
971 * parse.c: Likewise.
972 * primary.c: Likewise.
973 * resolve.c: Likewise.
974 * scanner.c: Likewise.
975 * simplify.c: Likewise.
976 * symbol.c: Likewise.
977 * target-memory.c: Likewise.
978
979 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
980
981 * convert.c: Adjust includes.
982 * cpp.c: Likewise.
983 * decl.c: Likewise.
984 * f95-lang.c: Likewise.
985 * iresolve.c: Likewise.
986 * match.c: Likewise.
987 * module.c: Likewise.
988 * options.c: Likewise.
989 * target-memory.c: Likewise.
990 * trans-array.c: Likewise.
991 * trans-common.c: Likewise.
992 * trans-const.c: Likewise.
993 * trans-decl.c: Likewise.
994 * trans-expr.c: Likewise.
995 * trans-intrinsic.c: Likewise.
996 * trans-io.c: Likewise.
997 * trans-openmp.c: Likewise.
998 * trans-stmt.c: Likewise.
999 * trans-types.c: Likewise.
1000 * trans.c: Likewise.
1001
1002 2015-07-07 Andre Vehreschild <vehre@gmx.de>
1003
1004 PR fortran/66578
1005 * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
1006 is one-based for non-full array refs. Correct the offset when a
1007 rank_remap occurs.
1008
1009 2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
1010
1011 * io.c (check_char_variable): New function.
1012 (match_open_element, match_close_element, match_file_element,
1013 match_dt_element, match_inquire_element, match_wait_element): Use it.
1014
1015 2015-07-06 Andre Vehreschild <vehre@gmx.de>
1016
1017 PR fortran/58586
1018 * resolve.c (resolve_symbol): Non-private functions in modules
1019 with allocatable or pointer components are marked referenced
1020 now. Furthermore is the default init especially for those
1021 components now done in gfc_conf_procedure_call preventing
1022 duplicate code.
1023 * trans-decl.c (gfc_generate_function_code): Generate a fake
1024 result decl for functions returning an object with allocatable
1025 components and initialize them.
1026 * trans-expr.c (gfc_conv_procedure_call): For value typed trees
1027 use the tree without indirect ref. And for non-decl trees
1028 add a temporary variable to prevent evaluating the tree
1029 multiple times (prevent multiple function evaluations).
1030 * trans.h: Made gfc_trans_structure_assign () protoype
1031 available, which is now needed by trans-decl.c:gfc_generate_
1032 function_code(), too.
1033
1034 2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
1035
1036 PR fortran/66725
1037 * io.c (is_char_type): New function to test for BT_CHARACTER
1038 (gfc_match_open, gfc_match_close, match_dt_element): Use it.
1039
1040 2015-07-02 David Edelsohn <dje.gcc@gmail.com>
1041
1042 * trans-common.c: Include <map> after system.h.
1043
1044 2015-07-02 Paul Thomas <pault@gcc.gnu.org>
1045
1046 PR fortran/52846
1047 * decl.c (get_proc_name): Make a partially populated interface
1048 symbol to carry the characteristics of a module procedure and
1049 its result.
1050 (variable_decl): Declarations of dummies or results in the
1051 abreviated form of module procedure is an error.
1052 (gfc_match_import): IMPORT is not permitted in the interface
1053 declaration of module procedures.
1054 (match_attr_spec): Submodule variables have implicit save
1055 attribute for F2008 onwards.
1056 (gfc_match_prefix): Add 'module' as the a prefix and set the
1057 module_procedure attribute.
1058 (gfc_match_formal_arglist): For a module procedure keep the
1059 interface formal_arglist from the interface, match new the
1060 formal arguments and then compare the number and names of each.
1061 (gfc_match_procedure): Add case COMP_SUBMODULE.
1062 (gfc_match_function_decl, gfc_match_subroutine_decl): Set the
1063 module_procedure attribute.
1064 (gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If
1065 attr abr_modproc_decl is set, switch the message accordingly
1066 for subroutines and functions.
1067 (gfc_match_submod_proc): New function to match the abbreviated
1068 style of submodule declaration.
1069 * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
1070 attribute bits 'used_in_submodule' and 'module_procedure'. Add
1071 the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
1072 for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
1073 'gfc_check_result_characteristics'.
1074 * interface.c : Add the prefix 'gfc_' to the names of functions
1075 'check_dummy(result)_characteristics' and all their references.
1076 * match.h : Add prototype for 'gfc_match_submod_proc' and
1077 'gfc_match_submodule'.
1078 (check_sym_interfaces): A module procedure is not an error in
1079 a module procedure statment in a generic interface.
1080 * module.c (gfc_match_submodule): New function. Add handling
1081 for the 'module_procedure' attribute bit.
1082 (gfc_use_module): Make sure that a submodule cannot use itself.
1083 * parse.c (decode_statement): Set attr has_'import_set' for
1084 the interface declaration of module procedures. Handle a match
1085 occurring in 'gfc_match_submod_proc' and a match for
1086 'submodule'.
1087 (gfc_enclosing_unit): Include the state COMP_SUBMODULE.
1088 (gfc_ascii_statement): Add END SUBMODULE.
1089 (accept_statement): Add ST_SUBMODULE.
1090 (parse_spec): Disallow statement functions in a submodule
1091 specification part.
1092 (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
1093 twice each.
1094 (get_modproc_result): Copy the result symbol of the interface.
1095 (parse_progunit): Call it.
1096 (set_syms_host_assoc): Make symbols from the ancestor module
1097 and submodules use associated, as required by the standard and
1098 set all private components public. Module procedures 'external'
1099 attribute bit is reset and the 'used_in_submodule' bit is set.
1100 (parse_module): If this is a submodule, use the ancestor module
1101 and submodules. Traverse the namespace, calling
1102 'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
1103 * parse.h : Add COMP_SUBMODULE.
1104 * primary.c (match_variable): Add COMP_SUBMODULE.
1105 * resolve.c (compare_fsyms): New function to compare the dummy
1106 characteristics of a module procedure with its interface.
1107 (resolve_fl_procedure): Compare the procedure, result and dummy
1108 characteristics of a module_procedure with its interface, using
1109 'compare_fsyms' for the dummy arguments.
1110 * symbol.c (gfc_add_procedure): Suppress the check for existing
1111 procedures in the case of a module procedure.
1112 (gfc_add_explicit_interface): Skip checks that must fail for
1113 module procedures.
1114 (gfc_add_type): Allow a new type to be added to module
1115 procedures, their results or their dummy arguments.
1116 (gfc_copy_dummy_sym): New function to generate new dummy args
1117 and copy the characteristics from the interface.
1118 * trans-decl.c (gfc_sym_mangled_function_id): Module procedures
1119 must always have their names mangled as if they are symbols
1120 coming from a declaration in a module.
1121 (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
1122 (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
1123 set are set DECL_EXTERNAL as if they were use associated.
1124
1125 2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
1126
1127 PR fortran/56520
1128 * match.c (gfc_match_name): Special case unary minus and plus.
1129
1130 2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
1131
1132 PR fortran/66545
1133 * primary.c (match_sym_complex_part): Do not dereference NULL pointer.
1134
1135 2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
1136
1137 * arith.c (gfc_arith_divide): With -Winteger-division,
1138 warn about contant integer division if there is a non-zero
1139 remainder.
1140 * invoke.texi: Document -Winteger-division.
1141 * lang.opt: Add -Winteger-division.
1142
1143 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
1144
1145 * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1146 * trans-decl.c: Likewise.
1147
1148 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1149
1150 * trans-decl.c (module_hasher): Likewise.
1151 * trans.h (module_decl_hasher): Likewise.
1152
1153 2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1154
1155 PR fortran/66528
1156 * error.c (gfc_warning_check): Restore the default output_buffer
1157 before calling diagnostic_action_after_output.
1158 (gfc_error_check): Likewise.
1159 (gfc_diagnostics_init): Add comment.
1160
1161 2015-06-23 Andre Vehreschild <vehre@gmx.de>
1162
1163 PR fortran/64674
1164 * parse.c (parse_associate): Figure the rank and as of a
1165 class array in an associate early.
1166 * primary.c (gfc_match_varspec): Prevent setting the
1167 dimension attribute on the sym for classes.
1168 * resolve.c (resolve_variable): Correct the component
1169 ref's type for associated variables. Add a full array ref
1170 when class array's are associated.
1171 (resolve_assoc_var): Correct the type of the symbol,
1172 when in the associate the expression's rank becomes scalar.
1173 * trans-expr.c (gfc_conv_variable): Indirect ref needed for
1174 allocatable associated objects.
1175
1176 2015-06-19 Mikael Morin <mikael@gcc.gnu.org>
1177
1178 PR fortran/66549
1179 * resolve.c (resolve_global_procedure): Don't save and restore
1180 OpenMP state around the call to gfc_resolve.
1181 (gfc_resolve): Save OpenMP state on entry and restore it on return.
1182
1183 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1184
1185 * convert.c: Do not include input.h, line-map.h or is-a.h.
1186 * cpp.c: Likewise.
1187 * decl.c: Likewise.
1188 * f95-lang.c: Likewise.
1189 * gfortran.h: Likewise.
1190 * iresolve.c: Likewise.
1191 * match.c: Likewise.
1192 * module.c: Likewise.
1193 * options.c: Likewise.
1194 * target-memory.c: Likewise.
1195 * trans-array.c: Likewise.
1196 * trans-common.c: Likewise.
1197 * trans-const.c: Likewise.
1198 * trans-decl.c: Likewise.
1199 * trans-expr.c: Likewise.
1200 * trans-intrinsic.c: Likewise.
1201 * trans-io.c: Likewise.
1202 * trans-openmp.c: Likewise.
1203 * trans-stmt.c: Likewise.
1204 * trans-types.c: Likewise.
1205 * trans.c: Likewise.
1206
1207 2015-06-15 Andre Vehreschild <vehre@gmx.de>
1208
1209 PR fortran/44672
1210 PR fortran/45440
1211 PR fortran/57307
1212 * gfortran.h: Extend gfc_code.ext.alloc to carry a
1213 flag indicating that the array specification has to be
1214 taken from expr3.
1215 * resolve.c (resolve_allocate_expr): Add F2008 notify
1216 and flag indicating source driven array spec.
1217 (resolve_allocate_deallocate): Check for source driven
1218 array spec, when array to allocate has no explicit
1219 array spec.
1220 * trans-array.c (gfc_array_init_size): Get lower and
1221 upper bound from a tree array descriptor, except when
1222 the source expression is an array-constructor which is
1223 fixed to be one-based.
1224 (retrieve_last_ref): Extracted from gfc_array_allocate().
1225 (gfc_array_allocate): Enable allocate(array, source=
1226 array_expression) as specified by F2008:C633.
1227 (gfc_conv_expr_descriptor): Add class tree expression
1228 into the saved descriptor for class arrays.
1229 * trans-array.h: Add temporary array descriptor to
1230 gfc_array_allocate ().
1231 * trans-expr.c (gfc_conv_procedure_call): Special handling
1232 for _copy() routine translation, that comes without an
1233 interface. Third and fourth argument are now passed by value.
1234 * trans-stmt.c (gfc_trans_allocate): Get expr3 array
1235 descriptor for temporary arrays to allow allocate(array,
1236 source = array_expression) for array without array
1237 specification.
1238
1239 2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1240
1241 * intrinsic.texi: Change \leq to < in descrition of imaginary
1242 part in argument to log.
1243
1244 2015-06-11 Paul Thomas <pault@gcc.gnu.org>
1245
1246 PR fortran/66079
1247 * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
1248 function results must be freed and nullified after use. Create
1249 a temporary to hold the result to prevent duplicate calls.
1250 * trans-stmt.c (gfc_trans_allocate): Rename temporary variable
1251 as 'source'. Deallocate allocatable components of non-variable
1252 'source's.
1253
1254 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
1255
1256 * f95-lang.c (gfc_create_decls): Register the main translation unit
1257 through the new debug hook.
1258
1259 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
1260
1261 * convert.c : Adjust include files.
1262 * cpp.c : Likewise.
1263 * decl.c : Likewise.
1264 * f95-lang.c : Likewise.
1265 * gfortran.h : Likewise.
1266 * iresolve.c : Likewise.
1267 * match.c : Likewise.
1268 * module.c : Likewise.
1269 * openmp.c : Likewise.
1270 * options.c : Likewise.
1271 * target-memory.c : Likewise.
1272 * trans-array.c : Likewise.
1273 * trans-common.c : Likewise.
1274 * trans-const.c : Likewise.
1275 * trans-decl.c : Likewise.
1276 * trans-expr.c : Likewise.
1277 * trans-intrinsic.c : Likewise.
1278 * trans-io.c : Likewise.
1279 * trans-openmp.c : Likewise.
1280 * trans-stmt.c : Likewise.
1281 * trans-types.c : Likewise.
1282 * trans.c : Likewise.
1283
1284 2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
1285
1286 PR fortran/66245
1287 * match.c (gfc_match_type_is, gfc_match_class_is): Check if the
1288 return type spec or derived type spec is validate.
1289
1290 2015-06-06 Thomas Koenig <tkoenig@netcologne.de>
1291
1292 PR fortran/47659
1293 * arith.c (eval_intrinsic_op): Set warn flag for
1294 gfc_type_convert_binary if -Wconversion or -Wconversion-extra
1295 are set.
1296 (wprecision_real_real): New function.
1297 (wprecision_int_real): New function.
1298 (gfc_int2int): If -fno-range-check and -Wconversion are specified
1299 and it is a narrowing conversion, warn.
1300 (gfc_int2real): If there is a change in value for the conversion,
1301 warn.
1302 (gfc_int2complex): Likewise.
1303 (gfc_real2int): If there is a fractional part to the real number,
1304 warn with -Wconversion, otherwise warn with -Wconversion-extra.
1305 (gfc_real2real): Emit warning if the constant was changed by
1306 conversion with either -Wconversion or -Wconversion-extra. With
1307 -Wconversion-extra, warn if no warning was issued earlier.
1308 (gfc_real2complex): Likewise.
1309 (gfc_complex2int): For -Wconversion or -Wconversion-extra, if
1310 there was an imaginary part, warn; otherwise, warn for change in
1311 value. Warn with -Wconversion-extra if no other warning was
1312 issued.
1313 (gfc_complex2real): For -Wconversion or -Wconversion-extra, if
1314 there was an imaginary part, warn; otherwise, warn for change in
1315 value. Warn with -Wconversion-extra if no other warning was
1316 issued.
1317 (gfc_complex2complex): For -Wconversion, warn if the value of
1318 either the real or the imaginary part was changed. Warn for
1319 -Wconversion-extra if no prior warning was issued.
1320 * expr.c (gfc_check_assign): Remove check for change in value.
1321 * primary.c (match_real_constant): For -Wconversion-extra, check
1322 against a number in which the last non-zero digit has been
1323 replaced with a zero. If the number compares equal, warn.
1324 * intrinsic.c (gfc_convert_type_warn): Do not warn about constant
1325 conversions.
1326
1327 2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
1328
1329 PR fortran/66347
1330 * resolve.c (apply_default_init_local): Do not dereference a NULL
1331 pointer.
1332
1333 2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1334
1335 PR fortran/66385
1336 * frontend-passes.c (combine_array_constructor): Return early if
1337 inside a FORALL loop.
1338
1339 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
1340
1341 * f95-lang.c (gfc_write_global_declarations): Remove.
1342 (LANG_HOOKS_WRITE_GLOBALS): Remove.
1343 (gfc_write_global_declarations): Move code from here to...
1344 (gfc_be_parse_file): ...here.
1345 Call global_decl_processing.
1346 * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl
1347 to early_global_decl.
1348
1349 2015-06-05 Russell Whitesides <russelldub@gmail.com>
1350 Steven G. Kargl <kargl@gcc.gnu.org>
1351
1352 PR fortran/40958
1353 PR fortran/60780
1354 PR fortran/66377
1355 * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
1356 from different modules. Eliminate the pruning of unused
1357 equivalence-objects
1358
1359 2015-06-04 Thomas Koenig <tkoenig@netcologne.de>
1360
1361 PR fortran/58749
1362 * iresolve.c (gfc_resolve_adjustl): If string has a charlen,
1363 copy it to the function.
1364 (gfc_resolve_adjustr): Likewise.
1365
1366 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
1367
1368 * convert.c: Adjust includes for restructured coretypes.h.
1369 * cpp.c: Likewise.
1370 * decl.c: Likewise.
1371 * f95-lang.c: Likewise.
1372 * iresolve.c: Likewise.
1373 * match.c: Likewise.
1374 * module.c: Likewise.
1375 * options.c: Likewise.
1376 * target-memory.c: Likewise.
1377 * trans-array.c: Likewise.
1378 * trans-common.c: Likewise.
1379 * trans-const.c: Likewise.
1380 * trans-decl.c: Likewise.
1381 * trans-expr.c: Likewise.
1382 * trans-intrinsic.c: Likewise.
1383 * trans-io.c: Likewise.
1384 * trans-openmp.c: Likewise.
1385 * trans-stmt.c: Likewise.
1386 * trans-types.c: Likewise.
1387 * trans.c: Likewise.
1388
1389 2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
1390
1391 PR fortran/66380
1392 * simplify.c (gfc_simplify_reshape): Convert assert into returning
1393 NULL, which triggers an error condition.
1394
1395 2015-05-27 Andre Vehreschild <vehre@gmx.de>
1396
1397 PR fortran/65548
1398 * trans-stmt.c (gfc_trans_allocate): Add missing location
1399 information for e3rhs.
1400
1401 2015-05-26 Paul Thomas <pault@gcc.gnu.org>
1402
1403 PR fortran/66082
1404 * trans-array.c (gfc_conv_array_parameter): Ensure that all
1405 non-variable arrays with allocatable components have the
1406 components deallocated after the procedure call.
1407
1408 2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
1409
1410 PR fortran/66257
1411 * resolve.c (resolve_actual_arglist): Don't throw an error
1412 if the argument with procedure pointer component is not a variable.
1413
1414 2015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1415
1416 PR fortran/44054
1417 * gfortran.h (struct gfc_error_buf): Rename as
1418 gfc_error_buffer. Move closer to push, pop and free
1419 methods. Reimplement using an output_buffer.
1420 * error.c (errors, warnings, warning_buffer, cur_error_buffer):
1421 Delete everywhere in this file.
1422 (error_char): Delete all contents.
1423 (gfc_increment_error_count): Delete.
1424 (gfc_error_now): Update comment. Set error_buffer.flag.
1425 (gfc_warning_check): Do not handle warning_buffer.
1426 (gfc_error_1): Delete.
1427 (gfc_error_now_1): Delete.
1428 (gfc_error_check): Simplify.
1429 (gfc_move_error_buffer_from_to): Renamed from
1430 gfc_move_output_buffer_from_to.
1431 (gfc_push_error): Handle only gfc_error_buffer.
1432 (gfc_pop_error): Likewise.
1433 (gfc_free_error): Likewise.
1434 (gfc_get_errors): Remove warnings and errors.
1435 (gfc_diagnostics_init): Use static error_buffer.
1436 (gfc_error_1,gfc_error_now_1): Delete declarations.
1437 * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
1438 frontend-passes.c, resolve.c, match.c, parse.c: Replace
1439 gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
1440 everywhere.
1441 * f95-lang.c (gfc_be_parse_file): Do not update errorcount and
1442 warningcount here.
1443 * primary.c (match_complex_constant): Replace gfc_error_buf and
1444 output_buffer with gfc_error_buffer.
1445
1446 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
1447
1448 * Make-lang.in (check_gfortran_parallelize): Update comment.
1449
1450 2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1451
1452 PR fortran/66176
1453 * frontend-passes.c (check_conjg_variable): New function.
1454 (inline_matmul_assign): Use it to keep track of conjugated
1455 variables.
1456
1457 2015-05-20 Andre Vehreschild <vehre@gmx.de>
1458
1459 PR fortran/65548
1460 * trans-stmt.c (gfc_trans_allocate): Always retrieve the
1461 descriptor or a reference to a source= expression for
1462 arrays and non-arrays, respectively. Use a temporary
1463 symbol and gfc_trans_assignment for all source=
1464 assignments to allocated objects besides for class and
1465 derived types.
1466
1467 2015-05-19 Jakub Jelinek <jakub@redhat.com>
1468
1469 PR middle-end/66199
1470 * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
1471 combined constructs.
1472 (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
1473 BIND_EXPR_BLOCK.
1474
1475 2015-05-19 David Malcolm <dmalcolm@redhat.com>
1476
1477 * cpp.c (maybe_print_line): Strengthen local "map" from
1478 const line_map * to const line_map_ordinary *.
1479 (cb_file_change): Likewise for param "map" and local "from".
1480 (cb_line_change): Likewise for local "map".
1481
1482 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1483
1484 * interface.c (compare_actual_formal): Use std::swap instead of
1485 explicit swaps.
1486 * trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
1487 * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.
1488
1489 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1490
1491 PR fortran/66106
1492 * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
1493 * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
1494
1495 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1496
1497 PR fortran/66057
1498 * decl.c(gfc_match_generic): Detected a malformed GENERIC statement.
1499
1500 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1501
1502 PR fortran/66043
1503 * gfortran.dg/storage_size_6.f90: New tests.
1504
1505 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1506
1507 PR fortran/66043
1508 * gfortran.dg/storage_size_6.f90: New tests.
1509
1510 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1511
1512 PR fortran/66044
1513 * decl.c(gfc_match_entry): Change a gfc_internal_error() into
1514 a gfc_error()
1515
1516 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1517
1518 PR fortran/66043
1519 * gfortran.dg/storage_size_6.f90: New tests.
1520
1521 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1522
1523 PR fortran/66040
1524 * parse.c(verify_st_order): Replace a gfc_internal_error with your
1525 generic gfc_error.
1526
1527 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1528
1529 PR fortran/66039
1530 * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
1531 BACKSPACE, and ENDFILE statements
1532
1533 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1534
1535 PR fortran/64925
1536 * symbol.c(check_conflict): Check for a conflict between a dummy
1537 argument and an internal procedure name.
1538
1539 2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1540
1541 PR fortran/65903
1542 * io.c (format_lex): Change to NONSTRING when checking for
1543 possible doubled quote.
1544 * scanner.c (gfc_next_char_literal): Revert change from 64506
1545 and add a check for quotes and return.
1546
1547 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
1548
1549 PR fortran/66113
1550 * expr.c (is_parent_of_current_ns): New function.
1551 (check_restricted): Use it.
1552
1553 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1554
1555 PR fortran/44054
1556
1557 Replace all calls to gfc_notify_std_1 with gfc_notify_std and
1558 gfc_warning_1 with gfc_warning.
1559 * decl.c (gfc_verify_c_interop_param): Here.
1560 * resolve.c (resolve_branch): Here.
1561 (resolve_fl_derived): Here.
1562 * dependency.c (gfc_check_argument_var_dependency):
1563 * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
1564 counter and locations before and after warning.
1565 * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
1566 Delete.
1567 (gfc_warning_now_at): Declare.
1568 * error.c (gfc_warning_1): Delete.
1569 (gfc_notify_std_1): Delete.
1570 (gfc_warning_now_1): Delete.
1571 (gfc_format_decoder): Handle two locations.
1572 (gfc_diagnostic_build_prefix): Rename as
1573 gfc_diagnostic_build_kind_prefix.
1574 (gfc_diagnostic_build_locus_prefix): Take an expanded_location
1575 instead of diagnostic_info.
1576 (gfc_diagnostic_build_locus_prefix): Add overload that takes two
1577 expanded_location.
1578 (gfc_diagnostic_starter): Handle two locations.
1579 (gfc_warning_now_at): New.
1580 (gfc_diagnostics_init): Initialize caret_chars array.
1581 (gfc_diagnostics_finish): Reset caret_chars array to default.
1582
1583 2015-05-16 Mikael Morin <mikael@gcc.gnu.org>
1584 Paul Thomas <pault@gcc.gnu.org>
1585
1586 PR fortran/65792
1587 * trans-expr.c (gfc_trans_subcomponent_assign): Always assign
1588 the expression component to the destination. In addition, if
1589 the component has allocatable components, copy them and
1590 deallocate those of the expression, if it is not a variable.
1591 The expression is fixed if not a variable to prevent multiple
1592 evaluations.
1593
1594 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1595
1596 PR fortran/66111
1597 * frontend-passes.c (has_dimen_vector_ref): New function.
1598 (inline_matmul_assign): Use it to return early in case
1599 of unhandled vector subscripts.
1600
1601 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1602
1603 PR fortran/66041
1604 PR fortran/37131
1605 * gfortran.h (gfc_array_spec): Add field resolved.
1606 * array.c (gfc_resolve_array_spec): Resolve array spec
1607 only once.
1608
1609 2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
1610
1611 PR fortran/66100
1612 * simplify.c (simplify_bound): Fix assert to accept subobject arrays.
1613
1614 2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
1615
1616 PR fortran/66041
1617 * frontend-passes.c (scalarized_expr): Set correct dimension and
1618 shape for the expression to be passed to lbound. Remove trailing
1619 references after array refrence.
1620 (inline_matmul_assign): Remove gfc_copy_expr from calls
1621 to scalarized_expr().
1622
1623 2015-05-10 Mikael Morin <mikael@gcc.gnu.org>
1624
1625 * simplify.c (simplify_bound_dim): Don't check for emptyness
1626 in the case of cobound simplification. Factor lower/upper
1627 bound differenciation before the actual simplification.
1628 (simplify_bound): Remove assumed shape specific simplification.
1629 Don't give up early for the lbound of an assumed shape.
1630
1631 2015-05-09 Mikael Morin <mikael@gcc.gnu.org>
1632
1633 PR fortran/65894
1634 * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
1635 New prototype.
1636 * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
1637 New function.
1638 (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
1639 as conditional.
1640 (gfc_walk_elemental_function_args): Set the dummy_arg field.
1641 * trans.h (gfc_ss_info): New subfield dummy_arg.
1642 * trans-expr.c (gfc_conv_procedure_call): Revert the change
1643 of revision 222361.
1644 (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
1645 as conditional.
1646
1647 2015-05-08 Mikael Morin <mikael@gcc.gnu.org>
1648
1649 * trans-array.c (gfc_walk_elemental_function_args):
1650 Don't skip the advance to the next dummy argument when skipping
1651 absent optional args.
1652
1653 2015-05-05 David Malcolm <dmalcolm@redhat.com>
1654
1655 * expr.c (check_inquiry): Fix indentation so that it reflects the
1656 block structure.
1657 * interface.c (compare_parameter): Likewise.
1658 * parse.c (parse_oacc_structured_block): Likewise.
1659 * target-memory.c (expr_to_char): Likewise.
1660 * trans-types.c (gfc_init_kinds): Likewise.
1661
1662 2015-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
1663
1664 PR fortran/65976
1665 * invoke.texi: Remove 'no-' in '-fno-fixed-form'
1666
1667 2015-05-01 Mikael Morin <mikael@gcc.gnu.org>
1668
1669 * simplify.c (simplify_bound_dim): Tighten the check for array fullness
1670 by also checking for absence of subreference.
1671 (simplify_bound): Don't skip simplification if the array
1672 has subreferences.
1673 (simplify_cobound): Same.
1674
1675 2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1676
1677 PR fortran/37131
1678 * simplify.c (simplify_bound): Get constant lower bounds of one
1679 from array spec for assumed and explicit shape shape arrays if
1680 the lower bounds are indeed one.
1681
1682 2015-04-30 David Malcolm <dmalcolm@redhat.com>
1683
1684 * options.c (gfc_init_options): Remove spurious second
1685 semicolon.
1686 * trans-stmt.c (gfc_trans_allocate): Likewise.
1687
1688 2015-04-28 Andre Vehreschild <vehre@gmx.de>
1689
1690 * interface.c (gfc_compare_types): Check for unlimited
1691 polymorphism flag in the correct position indepent of the _data
1692 component being present or not. This prevents a segfault, when
1693 the _data component is not present.
1694 * symbol.c (gfc_type_compatible): Same.
1695
1696 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
1697
1698 * Make-lang.in (fortran.mostlyclean): Remove gfortran and
1699 gfortran-cross.
1700
1701 2015-04-27 Andre Vehreschild <vehre@gmx.de>
1702
1703 PR fortran/59678
1704 PR fortran/65841
1705 * trans-array.c (duplicate_allocatable): Fixed deep copy of
1706 allocatable components, which are liable for copy only, when
1707 they are allocated.
1708 (gfc_duplicate_allocatable): Add deep-copy code into if
1709 component allocated block. Needed interface change for that.
1710 (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
1711 add into if-block for checking whether a component was
1712 allocated.
1713 (gfc_duplicate_allocatable_nocopy): Likewise.
1714 (structure_alloc_comps): Likewise.
1715 * trans-array.h: Likewise.
1716 * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
1717 * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
1718
1719 2015-04-23 Andre Vehreschild <vehre@gmx.de>
1720
1721 PR fortran/60322
1722 * expr.c (gfc_lval_expr_from_sym): Code to select the regular
1723 or class array added.
1724 * gfortran.h: Add IS_CLASS_ARRAY macro.
1725 * trans-array.c (gfc_add_loop_ss_code): Treat class objects
1726 to be referenced always.
1727 (build_class_array_ref): Adapt retrieval of array descriptor.
1728 (build_array_ref): Likewise.
1729 (gfc_conv_array_ref): Hand the vptr or the descriptor to
1730 build_array_ref depending whether the sym is class or not.
1731 (gfc_trans_array_cobounds): Select correct gfc_array_spec for
1732 regular and class arrays.
1733 (gfc_trans_array_bounds): Likewise.
1734 (gfc_trans_dummy_array_bias): Likewise.
1735 (gfc_get_dataptr_offset): Correcting call of build_array_ref.
1736 (gfc_conv_expr_descriptor): Set the array's offset to -1 when
1737 lbound in inner most dim is 1 and symbol non-pointer/assoc.
1738 * trans-decl.c (gfc_build_qualified_array): Select correct
1739 gfc_array_spec for regular and class arrays.
1740 (gfc_build_dummy_array_decl): Likewise.
1741 (gfc_get_symbol_decl): Get a dummy array for class arrays.
1742 (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
1743 is desired.
1744 * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
1745 from the correct location for class arrays.
1746 (gfc_class_len_get): Likewise.
1747 (gfc_conv_intrinsic_to_class): Add handling of _len component.
1748 (gfc_conv_class_to_class): Prevent access to unset array data
1749 when the array is an optional argument. Add handling of _len
1750 component.
1751 (gfc_copy_class_to_class): Check that _def_init is non-NULL
1752 when used in _vptr->copy()
1753 (gfc_trans_class_init_assign): Ensure that the rank of
1754 _def_init is zero.
1755 (gfc_conv_component_ref): Get the _vptr along with _data refs.
1756 (gfc_conv_variable): Make sure the temp array descriptor is
1757 returned for class arrays, too, and that class arrays are
1758 dereferenced correctly.
1759 (gfc_conv_procedure_call): For polymorphic type initialization
1760 the initializer has to be a pointer to _def_init stored in a
1761 dummy variable, which then needs to be used by value.
1762 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
1763 temporary array descriptor for class arrays, too.
1764 (gfc_conv_intrinsic_storage_size): Likewise.
1765 (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
1766 expressions.
1767 * trans-stmt.c (trans_associate_var): Use a temporary array for
1768 the associate variable of class arrays, too, making the array
1769 one-based (lbound == 1).
1770 * trans-types.c (gfc_is_nodesc_array): Use the correct
1771 array data.
1772 * trans.c (gfc_build_array_ref): Use the dummy array descriptor
1773 when present.
1774 * trans.h: Add class_vptr to gfc_se for storing a class ref's
1775 vptr.
1776
1777 2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
1778
1779 PR fortran/65429
1780 * decl.c (add_init_expr_to_sym): Set the length type parameter.
1781
1782 2015-04-10 Tobias Burnus <burnus@net-b.de>
1783
1784 * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
1785 version; reject not-yet-implemented variants.
1786 * trans-types.c (gfc_get_derived_type): For lock_type with
1787 -fcoarray=lib, use a void pointer as type.
1788 * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
1789 Handle lock_type with -fcoarray=lib.
1790
1791 2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
1792
1793 PR fortran/56674
1794 PR fortran/58813
1795 PR fortran/59016
1796 PR fortran/59024
1797 * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
1798 former to the latter and make it non-static. Update callers.
1799 * gfortran.h (gfc_save_symbol_data): New prototype.
1800 * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
1801 before modifying symbols 'sym' and 'dt_sym'.
1802
1803 2013-04-09 Paul Thomas <pault@gcc.gnu.org>
1804
1805 PR fortran/56852
1806 * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
1807 of the index variables are untyped and errors are present.
1808
1809 2015-04-07 Andre Vehreschild <vehre@gmx.de>
1810
1811 PR fortran/65548
1812 * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
1813 use conv_expr_descriptor() instead of conv_expr_reference().
1814
1815 2015-03-30 Jakub Jelinek <jakub@redhat.com>
1816
1817 PR fortran/65597
1818 * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
1819 linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
1820 For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1
1821 instead of the original step on the new iterator - count.
1822
1823 2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
1824
1825 PR fortran/64952
1826 PR fortran/65532
1827 * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
1828 * resolve.c (resolve_types): Return early if field 'types_resolved'
1829 is set. Set 'types_resolved' at the end.
1830
1831 2015-03-24 Andre Vehreschild <vehre@gmx.de>
1832
1833 PR fortran/55901
1834 * trans-expr.c (gfc_conv_structure): Fixed indendation.
1835 Using integer_zero_node now instead of explicitly
1836 constructing a integer constant zero node.
1837 (gfc_conv_derived_to_class): Add handling of _len component,
1838 i.e., when the rhs has a string_length then assign that to
1839 class' _len, else assign 0.
1840 (gfc_conv_intrinsic_to_class): Likewise.
1841
1842 2015-03-24 Andre Vehreschild <vehre@gmx.de>
1843
1844 PR fortran/64787
1845 PR fortran/57456
1846 PR fortran/63230
1847 * class.c (gfc_add_component_ref): Free no longer needed
1848 ref-chains to prevent memory loss.
1849 (find_intrinsic_vtab): For deferred length char arrays or
1850 unlimited polymorphic objects, store the size in bytes of one
1851 character in the size component of the vtab.
1852 * gfortran.h: Added gfc_add_len_component () define.
1853 * trans-array.c (gfc_trans_create_temp_array): Switched to new
1854 function name for getting a class' vtab's field.
1855 (build_class_array_ref): Likewise.
1856 (gfc_array_init_size): Using the size information from allocate
1857 more consequently now, i.e., the typespec of the entity to
1858 allocate is no longer needed. This is to address the last open
1859 comment in PR fortran/57456.
1860 (gfc_array_allocate): Likewise.
1861 (structure_alloc_comps): gfc_copy_class_to_class () needs to
1862 know whether the class is unlimited polymorphic.
1863 * trans-array.h: Changed interface of gfc_array_allocate () to
1864 reflect the no longer needed typespec.
1865 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
1866 (gfc_reset_len): New.
1867 (gfc_get_class_array_ref): Switch to new function name for
1868 getting a class' vtab's field.
1869 (gfc_copy_class_to_class): Added flag to know whether the class
1870 to copy is unlimited polymorphic. Adding _len dependent code
1871 then, which calls ->vptr->copy () with four arguments adding
1872 the length information ->vptr->copy(from, to, from_len, to_cap).
1873 (gfc_conv_procedure_call): Switch to new function name for
1874 getting a class' vtab's field.
1875 (alloc_scalar_allocatable_for_assignment): Use the string_length
1876 as computed by gfc_conv_expr and not the statically backend_decl
1877 which may be incorrect when ref-ing.
1878 (gfc_trans_assignment_1): Use the string_length variable and
1879 not the rse.string_length. The former has been computed more
1880 generally.
1881 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
1882 function name for getting a class' vtab's field.
1883 (gfc_conv_intrinsic_storage_size): Likewise.
1884 (gfc_conv_intrinsic_transfer): Likewise.
1885 * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
1886 source=expr3 only once before the loop over the objects to
1887 allocate, when the objects are not arrays. Doing correct _len
1888 initialization and calling of vptr->copy () fixing PR 64787.
1889 (gfc_trans_deallocate): Reseting _len to 0, preventing future
1890 errors.
1891 * trans.c (gfc_build_array_ref): Switch to new function name
1892 for getting a class' vtab's field.
1893 (gfc_add_comp_finalizer_call): Likewise.
1894 * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
1895 and gfc_vptr_*_get () functions.
1896 Added gfc_find_and_cut_at_last_class_ref () and
1897 gfc_reset_len () routine prototype. Added flag to
1898 gfc_copy_class_to_class () prototype to signal an unlimited
1899 polymorphic entity to copy.
1900
1901 2015-03-24 Iain Sandoe <iain@codesourcery.com>
1902 Tobias Burnus <burnus@net-b.de>
1903
1904 * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
1905
1906 2015-03-23 Paul Thomas <pault@gcc.gnu.org>
1907 Mikael Morin <mikael@gcc.gnu.org>
1908
1909 PR fortran/64952
1910 * gfortran.h (struct symbol_attribute) : New field
1911 'array_outer_dependency'.
1912 * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
1913 * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
1914 (attr_bits): Append same value to initializer.
1915 (mio_symbol_attribute): Handle 'array_outer_dependency' attr
1916 in module read and write.
1917 * resolve.c (update_current_proc_outer_array_dependency): New function.
1918 (resolve_function, resolve_call): Add code to update current procedure's
1919 'array_outer_dependency' attribute.
1920 (resolve_variable): Mark current procedure with attribute
1921 array_outer_dependency if the variable is an array coming from outside
1922 the current namespace.
1923 (resolve_fl_procedure): Mark a procedure without body with attribute
1924 'array_outer_dependency'.
1925 * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
1926 marked as 'array_outer_dependency' generate a temporary.
1927 (gfc_walk_function_expr): If the function may reference external arrays,
1928 mark the head gfc_ss with flag 'array_outer_dependency'.
1929
1930 2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1931
1932 PR libgfortran/59513
1933 * gfortran.texi (Read/Write after EOF marker): New information.
1934
1935 2015-03-21 H.J. Lu <hongjiu.lu@intel.com>
1936
1937 * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
1938 line.
1939
1940 2015-03-21 Tobias Burnus <burnus@net-b.de>
1941
1942 * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
1943 _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
1944 _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
1945 _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
1946 _gfortran_caf_atomic_op): New sections.
1947
1948 2015-03-21 Tobias Burnus <burnus@net-b.de>
1949
1950 * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
1951 coindexed coarray accesses.
1952
1953 2015-03-17 Paul Thomas <pault@gcc.gnu.org>
1954
1955 PR fortran/59198
1956 * trans-types.c (gfc_get_derived_type): If an abstract derived
1957 type with procedure pointer components has no other type of
1958 component, return the backend_decl. Otherwise build the
1959 components if any of the non-procedure pointer components have
1960 no backend_decl.
1961
1962 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1963
1964 PR fortran/64432
1965 *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
1966 smallest kind passed in user arguments and hardcode tesults for
1967 KIND=1 or KIND=2 to indicate no clock available.
1968
1969 2015-03-16 Andre Vehreschild <vehre@gmx.de>
1970
1971 * resolve.c: Prevent segfault on illegal input.
1972
1973 2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
1974
1975 PR fortran/61138
1976 * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
1977 field before reusing LSE.
1978
1979 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
1980
1981 PR libfortran/65200
1982 * gfortran.texi: Document behavior when opening files without
1983 explicit ACTION= specifier.
1984
1985 2015-03-10 Paul Thomas <pault@gcc.gnu.org>
1986
1987 PR fortran/65024
1988 * trans-expr.c (gfc_conv_component_ref): If the component
1989 backend declaration is missing and the derived type symbol is
1990 available in the reference, call gfc_build_derived_type.
1991
1992 2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
1993 Tobias Burnus <burnus@net-b.de>
1994
1995 * trans.h (caf_sync_memory): New function decl tree.
1996 * trans-decl.c (gfc_build_builtin_function_decls): Define it.
1997 (create_main_function): Don't call sync_synchronize and leave
1998 it to the CAF library.
1999 * trans-stmt.c (gfc_trans_stop): Ditto.
2000 (gfc_trans_sync): Ditto; add call library call for sync memory.
2001
2002 2015-03-08 Mikael Morin <mikael@gcc.gnu.org>
2003
2004 PR fortran/60898
2005 * resolve.c (resolve_symbol): Check that the symbol found by
2006 name lookup really is the current symbol being resolved.
2007
2008 2015-03-02 Tobias Burnus <burnus@net-b.de>
2009
2010 * check.c (gfc_check_atomic): Properly check for coarrayness
2011 and for being coindexed.
2012
2013 2015-02-26 Martin Liska <mliska@suse.cz>
2014
2015 * resolve.c: Rename enum 'comparison' to 'compare_result' as
2016 solution for -Wodr issue.
2017
2018 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2019
2020 PR libgomp/64625
2021 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2022 Remove macros.
2023 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2024 * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2025 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2026 Remove function types.
2027 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
2028 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2029 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2030 New function types.
2031
2032 2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
2033
2034 PR fortran/64980
2035 PR fortran/61960
2036 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
2037 for component references to class objects.
2038 (gfc_conv_procedure_call): Compare the class by name.
2039
2040 2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2041
2042 PR fortran/64506
2043 * scanner.c (gfc_next_char_literal): For free form source,
2044 check for '!' and if found, clear the comment and go back
2045 and get the next character. For fixed form source, skip the
2046 rest of the line.
2047
2048 2015-02-12 Paul Thomas <pault@gcc.gnu.org>
2049
2050 PR fortran/64932
2051 * trans-stmt.c (gfc_trans_deallocate): If a component array
2052 expression is not a descriptor type and it is a derived type
2053 that has allocatable components and is not finalizable, then
2054 deallocate the allocatable components.
2055
2056 2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
2057
2058 PR fortran/63744
2059 * module.c (check_for_ambiguous): Change argument type
2060 from gfc_symbol to gfc_symtree. Check local (symtree) name
2061 instead of original (symbol) name.
2062 (read_module): Update caller.
2063
2064 2015-02-06 Paul Thomas <pault@gcc.gnu.org>
2065
2066 PR fortran/63205
2067 * gfortran.h: Add 'must finalize' field to gfc_expr and
2068 prototypes for gfc_is_alloc_class_scalar_function and for
2069 gfc_is_alloc_class_array_function.
2070 * expr.c (gfc_is_alloc_class_scalar_function,
2071 gfc_is_alloc_class_array_function): New functions.
2072 * trans-array.c (gfc_add_loop_ss_code): Do not move the
2073 expression for allocatable class scalar functions outside the
2074 loop.
2075 (conv_array_index_offset): Cope with deltas being NULL_TREE.
2076 (build_class_array_ref): Do not return with allocatable class
2077 array functions. Add code to pick out the returned class array.
2078 Dereference if necessary and return if not a class object.
2079 (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
2080 (gfc_walk_function_expr): Return an array ss for the result of
2081 an allocatable class array function.
2082 * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
2083 that the argument should be a variable. If an allocatable class
2084 array function, set the offset to zero and skip the write-out
2085 loop in this case.
2086 (gfc_conv_procedure_call): Add allocatable class array function
2087 to the assert. Call gfc_conv_subref_array_arg for allocatable
2088 class array function arguments with derived type formal arg..
2089 Add the code for handling allocatable class functions, including
2090 finalization calls to prevent memory leaks.
2091 (arrayfunc_assign_needs_temporary): Return if an allocatable
2092 class array function.
2093 (gfc_trans_assignment_1): Set must_finalize to rhs expression
2094 for allocatable class functions. Set scalar_to_array as needed
2095 for scalar class allocatable functions assigned to an array.
2096 Nullify the allocatable components corresponding the the lhs
2097 derived type so that the finalization does not free them.
2098
2099 2015-01-29 Andre Vehreschild <vehre@gmx.de>
2100 Janus Weil <janus@gcc.gnu.org>
2101
2102 PR fortran/60289
2103 Initial patch by Janus Weil
2104 * resolve.c (resolve_allocate_expr): Add check for comp. only
2105 when target is not unlimited polymorphic.
2106 * trans-stmt.c (gfc_trans_allocate): Assign correct value to
2107 _len component of unlimited polymorphic entities.
2108
2109 2015-02-05 Tobias Burnus <burnus@net-b.de>
2110
2111 PR fortran/64943
2112 * resolve.c (resolve_transfer): Also check structure
2113 constructors.
2114
2115 2015-02-05 Paul Thomas <pault@gcc.gnu.org>
2116
2117 PR fortran/64757
2118 * resolve.c (resolve_structure_cons): Obtain the rank of class
2119 components.
2120 * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
2121 assignment to allocatable class array components.
2122 (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
2123 is a class component, allocate to the _data field.
2124 (gfc_trans_subcomponent_assign): If a class component with a
2125 derived type expression set the _vptr field and for array
2126 components, call gfc_trans_alloc_subarray_assign. For scalars,
2127 the assignment is performed here.
2128
2129 2015-02-04 Jakub Jelinek <jakub@redhat.com>
2130
2131 * options.c: Include langhooks.h.
2132 (gfc_post_options): Change lang_hooks.name based on
2133 selected -std= mode.
2134
2135 2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
2136
2137 * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
2138
2139 2015-01-30 Andre Vehreschild <vehre@gmx.de>
2140
2141 * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
2142 * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
2143 Fixed datatype of charlen to be a 32-bit int.
2144
2145 2015-02-01 Joseph Myers <joseph@codesourcery.com>
2146
2147 * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
2148 char *, ...)): Remove functions.
2149 * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
2150 (const char *, ...)): Remove declarations.
2151 * arith.c, check.c, data.c, decl.c, frontend-passes.c,
2152 interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
2153 options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
2154 trans-common.c, trans-const.c, trans-stmt.c: All callers of
2155 gfc_warning and gfc_warning_now changed to pass 0 or option number
2156 as first argument.
2157
2158 2015-01-30 Joseph Myers <joseph@codesourcery.com>
2159
2160 * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
2161 callers of fatal_error changed to pass input_location as first
2162 argument.
2163
2164 2015-01-28 Tobias Burnus <burnus@net-b.de>
2165
2166 * intrinsic.texi (CO_BROADCAST): Correct argument description.
2167
2168 2015-01-27 Tobias Burnus <burnus@net-b.de>
2169
2170 PR fortran/63861
2171 * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
2172 Fix handling for scalar coarrays.
2173 * trans-types.c (gfc_get_element_type): Add comment.
2174
2175 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2176
2177 PR fortran/64771
2178 * interface.c: Remove <algorithm>.
2179 (check_dummy_characteristics): Use MAX instead of std::max.
2180
2181 2015-01-26 Paul Thomas <pault@gcc.gnu.org>
2182
2183 PR fortran/62044
2184 * resolve.c (resolve_allocate_expr): If the default initializer
2185 is NULL, keep the original MOLD expression so that the correct
2186 typespec is available.
2187
2188 2015-01-26 Tobias Burnus <burnus@net-b.de>
2189
2190 PR fortran/64771
2191 * interface.c (check_dummy_characteristics): Fix coarray handling.
2192
2193 2015-01-26 Tobias Burnus <burnus@net-b.de>
2194
2195 * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
2196
2197 2015-01-26 Janus Weil <janus@gcc.gnu.org>
2198
2199 PR fortran/64230
2200 * class.c (finalize_component): New argument 'sub_ns'. Insert code to
2201 check if 'expr' is associated.
2202 (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
2203 'ptr2'. Pass 'sub_ns' to finalize_component.
2204
2205 2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
2206
2207 PR fortran/62044
2208 * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
2209 * module.c (MOD_VERSION): Bump.
2210 (write_module): Don't write list of extensions.
2211 (read_module): Don't jump over list of extensions;
2212 don't load list of extensions.
2213 (load_derived_extensions, write_dt_extensions,
2214 write_derived_extensions): Remove.
2215
2216 2015-01-24 Tobias Burnus <burnus@net-b.de>
2217
2218 * parse.c (gfc_parse_file): Fix two-location gfc_error call.
2219
2220 2015-01-23 Martin Liska <mliska@suse.cz>
2221
2222 * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
2223 false positive during profiledbootstrap by initializing them.
2224 * matchexp.c (match_mult_operand): Likewise.
2225 * module.c (write_atom): Likewise.
2226 (read_module): Likewise.
2227
2228 2015-01-23 Tom de Vries <tom@codesourcery.com>
2229
2230 PR libgomp/64672
2231 * lang.opt (fopenacc): Mark as LTO option.
2232
2233 2015-01-23 Tom de Vries <tom@codesourcery.com>
2234
2235 PR libgomp/64707
2236 * lang.opt (fopenmp): Mark as LTO option.
2237
2238 2015-01-23 Andre Vehreschild <vehre@gmx.de>
2239
2240 * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
2241 * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
2242
2243 2015-01-23 Jakub Jelinek <jakub@redhat.com>
2244
2245 * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
2246
2247 2015-01-23 Janus Weil <janus@gcc.gnu.org>
2248
2249 PR fortran/60922
2250 * class.c (finalize_component): Apply the check for 'fini_coarray' only
2251 to coarray components.
2252
2253 2015-01-23 Tobias Burnus <burnus@net-b.de>
2254
2255 PR fortran/64726
2256 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
2257 loop generation.
2258
2259 2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2260
2261 PR fortran/61933
2262 * libgfortran.h:
2263 * trans-io.c (set_parameter_value): Delete use of has_iostat.
2264 Redefine to not generate any runtime error check calls.
2265 (set_parameter_value_chk): Rename of the former
2266 set_parameter_value with the runtime error checks and fix
2267 whitespace. (set_parameter_value_inquire): New function that
2268 builds a runtime conditional block to set the INQUIRE
2269 common parameter block unit number to -2 when unit numbers
2270 exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
2271 For unit, use the renamed set_parameter_value_chk.
2272 (gfc_trans_close): Likewise use renamed function.
2273 (build_filepos): Whitespace and use renamed function.
2274 (gfc_trans_inquire): Whitespace and for unit use
2275 set_parameter_value and set_parameter_value_inquire.
2276 (gfc_trans_wait): Remove p->iostat from call to
2277 set_parameter_value. Use new set_parameter_value_chk for unit.
2278 (build_dt): Use the new set_parameter_value without p->iostat
2279 and fix whitespace. Use set_parameter_value_chk for unit.
2280
2281 2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
2282
2283 PR fortran/57023
2284 * dependency.c (callback_dummy_intent_not_int): New function.
2285 (dummy_intent_not_in): New function.
2286 (gfc_full_array_ref_p): Use dummy_intent_not_in.
2287
2288 2015-01-18 Andre Vehreschild <vehre@gmx.de>
2289 Janus Weil <janus@gcc.gnu.org>
2290
2291 PR fortran/60255
2292 * class.c (gfc_get_len_component): New.
2293 (gfc_build_class_symbol): Add _len component to unlimited
2294 polymorphic entities.
2295 (find_intrinsic_vtab): Removed emitting of error message.
2296 * gfortran.h: Added prototype for gfc_get_len_component.
2297 * simplify.c (gfc_simplify_len): Use _len component where
2298 available.
2299 * trans-expr.c (gfc_class_len_get): New.
2300 (gfc_conv_intrinsic_to_class): Add handling for deferred
2301 character arrays.
2302 (gfc_conv_structure): Treat _len component correctly.
2303 (gfc_conv_expr): Prevent bind_c handling when not required.
2304 (gfc_trans_pointer_assignment): Propagate _len component.
2305 * trans-stmt.c (class_has_len_component): New.
2306 (trans_associate_var): _len component treatment for associate
2307 context.
2308 (gfc_trans_allocate): Same as for trans_associate_var()
2309 * trans.h: Added prototype for gfc_class_len_get.
2310
2311 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
2312
2313 PR fortran/57959
2314 * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
2315 for allocatable components, where the source is a variable.
2316
2317 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
2318
2319 PR fortran/55901
2320 * primary.c (gfc_match_varspec): Exclude dangling associate-
2321 names with dimension 0 from being counted as arrays.
2322 * resolve.c (resolve_assoc_var): Sub-strings are permissible
2323 for associate-names, so exclude characters from the test for
2324 misuse as arrays.
2325 * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
2326 the hidden string length variable of their associated target.
2327 Signal this by setting 'length' to a constant, if the decl for
2328 the string length is a variable.
2329
2330 2015-01-17 Paul Thomas <pault@gcc.gnu.org>
2331
2332 PR fortran/64578
2333 * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
2334 before reinitializing rse, to add the rse.pre to block before
2335 creating 'ptrtemp'.
2336 * trans-intrinsic.c (gfc_conv_associated): Deal with the class
2337 data being a descriptor.
2338
2339 2015-01-17 Andre Vehreschild <vehre@gmx.de>
2340
2341 PR fortran/60357
2342 * primary.c (build_actual_constructor): Prevent warning.
2343 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
2344 assignment): New function encapsulates treatment of allocatable
2345 components.
2346 (gfc_trans_subcomponent_assign): Needed to distinguish between
2347 regular assignment and initilization.
2348 (gfc_trans_structure_assign): Same.
2349 (gfc_conv_structure): Same.
2350
2351 PR fortran/61275
2352 * gfortran.h: deferred_parameter is not needed, because
2353 it artificial does the trick completely.
2354 * primary.c (build_actual_constructor): Same.
2355 (gfc_convert_to_structure_constructor): Same.
2356 * resolve.c (resolve_fl_derived0): Same.
2357 * trans-expr.c (gfc_conv_component_ref): Prevent treating
2358 allocatable deferred length char arrays here.
2359 (gfc_trans_subcomponent_assign): Same as above.
2360 * trans-types.c (gfc_sym_type): This is done in
2361 gfc_get_derived_type already.
2362
2363 2015-01-17 Andre Vehreschild <vehre@gmx.de>
2364
2365 PR fortran/60334
2366 * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
2367 length when the symbol is declared to be a result.
2368 * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
2369 string length when functions are nested and the string length
2370 is a reference already.
2371
2372 2015-01-16 Janus Weil <janus@gcc.gnu.org>
2373
2374 PR fortran/45290
2375 * decl.c (match_pointer_init): Error out if resolution of init expr
2376 failed.
2377
2378 2015-01-15 Tobias Burnus <burnus@net-b.de>
2379
2380 * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
2381 resolve_oacc_deviceptr_clause, resolve_omp_clauses,
2382 gfc_resolve_oacc_declare): Replace '%s' by %qs.
2383
2384 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2385 Cesar Philippidis <cesar@codesourcery.com>
2386 James Norris <jnorris@codesourcery.com>
2387 Ilmir Usmanov <i.usmanov@samsung.com>
2388 Tobias Burnus <burnus@net-b.de>
2389
2390 * lang.opt (fopenacc): New option.
2391 * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
2392 * dump-parse-tree.c (show_omp_node): Split part of it into...
2393 (show_omp_clauses): ... this new function.
2394 (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
2395 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2396 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2397 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2398 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2399 (show_namespace): Update for OpenACC.
2400 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
2401 (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
2402 (DEF_GOACC_BUILTIN_COMPILER): New macros.
2403 * types.def (BT_FN_VOID_INT_INT_VAR)
2404 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2405 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2406 New function types.
2407 * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
2408 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2409 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
2410 ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
2411 ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
2412 ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
2413 ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2414 ST_OACC_ROUTINE.
2415 (struct gfc_expr_list): New data type.
2416 (gfc_get_expr_list): New macro.
2417 (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
2418 OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
2419 OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
2420 (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
2421 (OMP_LIST_CACHE): New enumerators.
2422 (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
2423 vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
2424 wait_list, tile_list, async, gang, worker, vector, seq,
2425 independent, wait, par_auto, gang_static, and loc members.
2426 (struct gfc_namespace): Add oacc_declare_clauses member.
2427 (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
2428 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
2429 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2430 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2431 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2432 (gfc_free_expr_list, gfc_resolve_oacc_directive)
2433 (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
2434 (gfc_resolve_oacc_blocks): New prototypes.
2435 * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
2436 EXEC_OACC_PARALLEL_LOOP.
2437 * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
2438 (gfc_match_oacc_update, gfc_match_oacc_declare)
2439 (gfc_match_oacc_loop, gfc_match_oacc_host_data)
2440 (gfc_match_oacc_data, gfc_match_oacc_kernels)
2441 (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
2442 (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
2443 (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
2444 prototypes.
2445 * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
2446 (gfc_free_omp_clauses): Update for members added to struct
2447 gfc_omp_clauses.
2448 (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
2449 openacc parameter.
2450 (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
2451 (struct fortran_omp_context): Add is_openmp member.
2452 (gfc_resolve_omp_parallel_blocks): Initialize it.
2453 (gfc_resolve_do_iterator): Update for OpenACC.
2454 (gfc_resolve_omp_directive): Call
2455 resolve_omp_directive_inside_oacc_region.
2456 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
2457 (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
2458 (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
2459 (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
2460 (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
2461 (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
2462 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
2463 (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
2464 (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
2465 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
2466 (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
2467 (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
2468 (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
2469 (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
2470 (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
2471 (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
2472 (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
2473 (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
2474 (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
2475 (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
2476 (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
2477 (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
2478 (gfc_match_omp_clauses): Handle those.
2479 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
2480 (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
2481 (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
2482 (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
2483 (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
2484 (OACC_WAIT_CLAUSES): New macros.
2485 (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
2486 (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
2487 (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
2488 (gfc_match_oacc_kernels, gfc_match_oacc_data)
2489 (gfc_match_oacc_host_data, gfc_match_oacc_loop)
2490 (gfc_match_oacc_declare, gfc_match_oacc_update)
2491 (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
2492 (gfc_match_oacc_wait, gfc_match_oacc_cache)
2493 (gfc_match_oacc_routine, oacc_is_loop)
2494 (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
2495 (check_symbol_not_pointer, check_array_not_assumed)
2496 (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
2497 (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
2498 (omp_code_to_statement, oacc_code_to_statement)
2499 (resolve_oacc_directive_inside_omp_region)
2500 (resolve_omp_directive_inside_oacc_region)
2501 (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
2502 (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
2503 (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
2504 (gfc_resolve_oacc_directive): New functions.
2505 * parse.c (next_free): Update for OpenACC. Move some code into...
2506 (verify_token_free): ... this new function.
2507 (next_fixed): Update for OpenACC. Move some code into...
2508 (verify_token_fixed): ... this new function.
2509 (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
2510 ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
2511 (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
2512 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
2513 ST_OACC_KERNELS_LOOP.
2514 (case_decl): Add ST_OACC_ROUTINE.
2515 (push_state, parse_critical_block, parse_progunit): Update for
2516 OpenACC.
2517 (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
2518 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2519 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
2520 ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
2521 ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
2522 ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
2523 ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2524 ST_OACC_ROUTINE.
2525 (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
2526 (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
2527 ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
2528 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
2529 (decode_oacc_directive, parse_oacc_structured_block)
2530 (parse_oacc_loop, is_oacc): New functions.
2531 * parse.h (struct gfc_state_data): Add oacc_declare_clauses
2532 member.
2533 (is_oacc): New prototype.
2534 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
2535 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
2536 EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
2537 EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
2538 EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
2539 EXEC_OACC_EXIT_DATA.
2540 (resolve_codes): Call gfc_resolve_oacc_declare.
2541 * scanner.c (openacc_flag, openacc_locus): New variables.
2542 (skip_free_comments): Update for OpenACC. Move some code into...
2543 (skip_omp_attribute): ... this new function.
2544 (skip_oacc_attribute): New function.
2545 (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
2546 * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
2547 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2548 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2549 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2550 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2551 * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
2552 * trans-openmp.c: Include "gomp-constants.h".
2553 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
2554 instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
2555 (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
2556 OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
2557 OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
2558 OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
2559 OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
2560 independent, wait_list, num_gangs_expr, num_workers_expr,
2561 vector_length_expr, vector, vector_expr, worker, worker_expr,
2562 gang, gang_expr members.
2563 (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
2564 (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
2565 (gfc_trans_oacc_executable_directive)
2566 (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
2567 (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
2568 * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
2569 * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
2570 New prototypes.
2571 * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
2572 EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
2573 EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
2574 EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
2575 EXEC_OACC_EXIT_DATA.
2576 * gfortran.texi: Update for OpenACC.
2577 * intrinsic.texi: Likewise.
2578 * invoke.texi: Likewise.
2579
2580 2015-01-15 Janus Weil <janus@gcc.gnu.org>
2581
2582 PR fortran/58023
2583 * resolve.c (resolve_fl_derived0): Continue resolving next component
2584 after error.
2585
2586 2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2587
2588 PR fortran/61933
2589 * io.c (gfc_match_inquire): Generate error if unit number in
2590 inquire statement is a constant -1. All other values allowed.
2591 * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
2592 (create_dummy_iostat): Delete function no longer used.
2593
2594 2015-01-13 Jakub Jelinek <jakub@redhat.com>
2595
2596 PR fortran/64528
2597 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
2598 on dummy args with VALUE attribute.
2599
2600 2015-01-11 Janus Weil <janus@gcc.gnu.org>
2601
2602 PR fortran/63733
2603 * interface.c (gfc_extend_expr): Look for type-bound operators before
2604 non-typebound ones.
2605
2606 2015-01-11 Janus Weil <janus@gcc.gnu.org>
2607
2608 PR fortran/58023
2609 * resolve.c (resolve_fl_derived0): Set error flag if problems with the
2610 interface of a procedure-pointer component were detected.
2611
2612 2015-01-11 Janus Weil <janus@gcc.gnu.org>
2613
2614 PR fortran/64508
2615 * interface.c (compare_parameter): Interface check for
2616 procedure-pointer component as actual argument.
2617
2618 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
2619
2620 * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
2621 Runtime Library" to "GNU Offloading and Multi Processing Runtime
2622 Library".
2623 * intrinsic.texi: Likewise.
2624
2625 2015-01-10 Tobias Burnus <burnus@net-b.de>
2626
2627 PR fortran/64522
2628 * invoke.texi (Wline-truncation): Document new behaviour.
2629 * lang.opt (Wline-truncation): Add Init(-1).
2630 * options.c (gfc_post_options): If -Wline-truncation is unset,
2631 enable it for free-form source files; for the latter, also use
2632 -Werror=line-truncation, unless -Wno-error has been specified.
2633
2634 2015-01-09 Michael Collison <michael.collison@linaro.org>
2635
2636 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2637 input.h, alias.h, symtab.h, options.h, fold-const.h,
2638 wide-int.h, and inchash.h due to flattening of tree.h.
2639 * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2640 input.h, alias.h, symtab.h, fold-const.h,
2641 wide-int.h, and inchash.h due to flattening of tree.h.
2642 * decl.c: Ditto.
2643 * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2644 input.h, alias.h, symtab.h, options.h, fold-const.h,
2645 wide-int.h, and inchash.h due to flattening of tree.h.
2646 * iresolve.c: Ditto.
2647 * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2648 input.h, alias.h, symtab.h, fold-const.h,
2649 wide-int.h, and inchash.h due to flattening of tree.h.
2650 * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2651 input.h, alias.h, symtab.h, options.h, fold-const.h,
2652 wide-int.h, and inchash.h due to flattening of tree.h.
2653 * options.c: Ditto.
2654 * target-memory.c: Include hash-set.h, vec.h,
2655 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
2656 wide-int.h, and inchash.h due to flattening of tree.h.
2657 * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2658 input.h, alias.h, symtab.h, options.h, fold-const.h,
2659 wide-int.h, and inchash.h due to flattening of tree.h.
2660 * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2661 input.h, alias.h, symtab.h, options.h, fold-const.h,
2662 wide-int.h, and inchash.h due to flattening of tree.h.
2663 * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2664 input.h, alias.h, symtab.h, fold-const.h,
2665 wide-int.h, and inchash.h due to flattening of tree.h.
2666 * trans-const.c: Ditto.
2667 * trans-decl.c: Ditto.
2668 * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2669 input.h, alias.h, symtab.h, options.h, fold-const.h,
2670 wide-int.h, and inchash.h due to flattening of tree.h.
2671 * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2672 input.h, alias.h, symtab.h, fold-const.h,
2673 wide-int.h, inchash.h and real.h due to flattening of tree.h.
2674 * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2675 input.h, alias.h, symtab.h, options.h, fold-const.h,
2676 wide-int.h, and inchash.h due to flattening of tree.h.
2677 * trans-openmp.c: Ditto.
2678 * trans-stmt.c: Ditto.
2679 * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2680 input.h, alias.h, symtab.h, fold-const.h,
2681 wide-int.h, inchash.h and real.h due to flattening of tree.h.
2682
2683 2015-01-08 Tobias Burnus <burnus@net-b.de>
2684
2685 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
2686 for module coarrays with -fcoarray=lib.
2687 (get_proc_pointer_decl): As module variable, make only public
2688 when not marked as private.
2689
2690 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
2691
2692 PR fortran/47674
2693 * dependency.h: Actually commit changes.
2694
2695 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
2696
2697 PR fortran/47674
2698 * dependency.c: Update copyright years.
2699 (gfc_discard_nops): Add prototype.
2700 * dependency.c (discard_nops): Rename to gfc_discard_nops,
2701 make non-static.
2702 (gfc_discard_nops): Use gfc_discard_nops.
2703 (gfc_dep_difference): Likewise.
2704 * frontend-passes.c Update copyright years.
2705 (realloc_strings): New function. Add prototype.
2706 (gfc_run_passes): Call realloc_strings.
2707 (realloc_string_callback): New function.
2708 (create_var): Add prototype. Handle case of a
2709 scalar character variable.
2710 (optimize_trim): Do not handle allocatable variables.
2711
2712 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2713
2714 Update copyright years.
2715
2716 * gfortranspec.c (lang_specific_driver): Update copyright notice
2717 dates.
2718 * gfc-internals.texi: Bump @copying's copyright year.
2719 * gfortran.texi: Ditto.
2720 * intrinsic.texi: Ditto.
2721 * invoke.texi: Ditto.
2722
2723 2015-01-02 Janus Weil <janus@gcc.gnu.org>
2724
2725 PR fortran/57562
2726 * expr.c (find_component_ref): Deal with extended types.
2727
2728 2015-01-02 Tobias Burnus <burnus@net-b.de>
2729
2730 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
2731 for module coarrays with -fcoarray=lib.
2732
2733 2015-01-02 Janus Weil <janus@gcc.gnu.org>
2734
2735 PR fortran/60507
2736 * interface.c (is_procptr_result): New function to check if an
2737 expression is a procedure-pointer result.
2738 (compare_actual_formal): Use it.
2739 ^L
2740 Copyright (C) 2015 Free Software Foundation, Inc.
2741
2742 Copying and distribution of this file, with or without modification,
2743 are permitted in any medium without royalty provided the copyright
2744 notice and this notice are preserved.