1 2015-11-25 Steven G. Kargl <kargl@gcc.gnu.org>
4 * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into
5 into part of conditional statement.
7 2015-11-25 Ilmir Usmanov <me@ilmir.us>
8 Cesar Philippidis <cesar@codesourcery.com>
11 * scanner.c (skip_oacc_attribute): Remove continue_flag parameter.
13 (skip_free_oacc_sentinel): ... this.
14 (skip_omp_attribute): Remove continue_flag parameter. Rename as ...
15 (skip_free_omp_sentinel): ... this.
16 (skip_free_comments): Update to call skip_free_oacc_sentinel and
17 skip_free_omp_sentinel.
18 (skip_fixed_omp_sentinel): New function.
19 (skip_fixed_oacc_sentinel): New function.
20 (skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in
23 2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
26 * simplify.c (gfc_simplify_cshift): Allow all EXPR_*.
28 2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
31 * simplify.c (gfc_simplify_cshift): Add EXPR_OP to mix.
33 2015-11-22 James Norris <jnorris@codesourcery.com>
34 Steven G. Kargl <kargl@gcc.gnu.org>
36 * openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
37 (gfc_resolve_oacc_declare): Fix comparision.
39 2015-11-22 James Norris <jnorris@codesourcery.com>
40 Cesar Philippidis <cesar@codesourcery.com>
42 * dump-parse-tree.c (show_namespace): Handle declares.
43 * gfortran.h (struct symbol_attribute): New fields.
44 (enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
45 (OMP_LIST_LINK): New enum.
46 (struct gfc_oacc_declare): New structure.
47 (gfc_get_oacc_declare): New definition.
48 (struct gfc_namespace): Change type.
49 (enum gfc_exec_op): Add EXEC_OACC_DECLARE.
50 (struct gfc_code): New field.
51 * module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
52 AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
53 AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
54 (attr_bits): Add new initializers.
55 (mio_symbol_attribute): Handle new atributes.
56 * openmp.c (gfc_free_oacc_declare_clauses): New function.
57 (gfc_match_oacc_clause_link: Likewise.
58 (OMP_CLAUSE_LINK): New definition.
59 (gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
60 (OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
61 (gfc_match_oacc_declare): Add checking and module handling.
62 (resolve_omp_clauses): Add array initializer.
63 (gfc_resolve_oacc_declare): Reimplement.
64 * parse.c (case_decl): Add ST_OACC_DECLARE.
65 (parse_spec): Remove handling.
66 (parse_progunit): Remove handling.
67 * parse.h (struct gfc_state_data): Change type.
68 * resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
69 * st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
70 * symbol.c (check_conflict): Add conflict checks.
71 (gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin,
72 gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
74 (gfc_copy_attr): Handle new symbols.
75 * trans-decl.c (add_clause, find_module_oacc_declare_clauses,
76 finish_oacc_declare): New functions.
77 (gfc_generate_function_code): Replace with call.
78 * trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
79 (gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
80 * trans-stmt.c (gfc_trans_block_construct): Replace with call.
81 * trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
82 * trans.c (trans_code): Handle EXEC_OACC_DECLARE.
84 2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
86 * simplify.c (gfc_simplify_cshift): Work around bootstrap issues
87 due to inappropriate warning options.
89 2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
91 * simplify.c (gfc_simplify_cshift): Implement simplification of
92 CSHIFT for rank=1 arrays.
93 (gfc_simplify_spread): Remove a FIXME and add error condition.
94 * intrinsic.h: Prototype for gfc_simplify_cshift
95 * intrinsic.c (add_functions): Use gfc_simplify_cshift.
97 2015-11-20 Steven G. Kargl <kargl@gcc.gnu.org>
100 * decl.c (gfc_match_submod_proc): Test the interface symbol
101 before accessing its attributes.
103 2015-11-20 Paul Thomas <pault@gcc.gnu.org>
106 (gfc_get_symbol_decl): Test for attr.used_in_submodule as well
107 as attr.use_assoc (twice).
108 (gfc_create_module_variable): Ditto.
110 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
113 * primary.c (gfc_match_structure_constructor): Reduce a structure
114 constructor in a DATA statement.
116 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
119 * simplify.c (gfc_simplify_spread): Issue error for too large array
120 constructor in a PARAMETER statement.
122 2015-11-17 Steven G. Kargl <kargl@gcc.gnu.org>
124 * primary.c (gfc_match_structure_constructor): Fix whitespace.
126 2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr>
129 * expr.c (gfc_check_pointer_assign): Fix error message.
131 2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
135 * expr.c (gfc_check_init_expr): Prevent a redundant check when a
136 __convert_* function was inserted into an array constructor.
137 (gfc_check_assign_symbol): Check for an initialization expression
138 when a __convert_* was inserted.
140 2015-11-15 Paul Thomas <pault@gcc.gnu.org>
146 * trans_array.c (gfc_conv_scalarized_array_ref): Pass the
147 symbol decl for deferred character length array references.
148 * trans-stmt.c (gfc_trans_allocate): Keep the string lengths
149 to update deferred length character string lengths.
150 * trans-types.c (gfc_get_dtype_rank_type); Use the string
151 length of deferred character types for the dtype size.
152 * trans.c (gfc_build_array_ref): For references to deferred
153 character arrays, use the domain max value, if it is a variable
154 to set the 'span' and use pointer arithmetic for acces to the
156 (trans_code): Set gfc_current_locus for diagnostic purposes.
159 * trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
160 string lengths of components.
163 * resolve.c (deferred_op_assign): New function.
164 (gfc_resolve_code): Call it.
165 * trans-array.c (concat_str_length): New function.
166 (gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
167 realloc blocks for deferred character length arrays because the
168 string length might change, even if the shape is the same. Call
169 concat_str_length to obtain the string length for concatenation
170 since it is needed to compute the lhs string length.
171 Set the descriptor dtype appropriately for the new string
173 * trans-expr.c (gfc_trans_assignment_1): Use the rse string
174 length for all characters, other than deferred types. For
175 concatenation operators, push the rse.pre block to the inner
176 most loop so that the temporary pointer and the assignments
179 2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
182 * array.c (gfc_match_array_constructor): If array constructor included
183 a CHARACTER typespec, check array elements for compatible type.
185 2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
188 * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
189 * io.c (gfc_match_format): Ditto.
190 * match.c (gfc_match_st_function): Ditto.
192 2015-11-13 David Malcolm <dmalcolm@redhat.com>
194 * error.c (gfc_warning): Pass line_table to rich_location ctor.
195 (gfc_warning_now_at): Likewise.
196 (gfc_warning_now): Likewise.
197 (gfc_error_now): Likewise.
198 (gfc_fatal_error): Likewise.
199 (gfc_error): Likewise.
200 (gfc_internal_error): Likewise.
202 2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
205 * decl.c (get_proc_name): Increment reference count for ENTRY.
206 While here, fix comment and use postfix ++ for consistency.
208 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
210 * array.c: Remove unused header files.
211 * convert.c: Likewise.
214 * f95-lang.c: Likewise.
215 * frontend-passes.c: Likewise.
216 * iresolve.c: Likewise.
218 * module.c: Likewise.
219 * options.c: Likewise.
221 * target-memory.c: Likewise.
222 * trans-array.c: Likewise.
223 * trans-common.c: Likewise.
224 * trans-const.c: Likewise.
225 * trans-decl.c: Likewise.
226 * trans-expr.c: Likewise.
227 * trans-intrinsic.c: Likewise.
228 * trans-io.c: Likewise.
229 * trans-openmp.c: Likewise.
230 * trans-stmt.c: Likewise.
231 * trans-types.c: Likewise.
234 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
237 * openmp.c (gfc_omp_udr_find): Fix typo.
239 2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org>
242 * decl.c (add_init_expr_to_sym): Try to reduce initialization expression
243 before testing for a constant value.
245 2015-11-08 Andre Vehreschild <vehre@gcc.gnu.org>
248 * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
249 array spec in allocate is a function call.
251 2015-11-08 Steven G. Kargl <kargl@gc.gnu.org>
254 * array.c (match_array_element_spec): Check of invalid NULL().
255 While here, fix nearby comments.
257 2015-11-08 Paul Thomas <pault@gcc.gnu.org>
260 * class.c (has_finalizer_component): Prevent infinite recursion
261 through this function if the derived type and that of its
262 component are the same.
263 * trans-types.c (gfc_get_derived_type): Do the same for proc
264 pointers by ignoring the explicit interface for the component.
267 * check.c (same_type_check): If either of the expressions is
268 BT_PROCEDURE, use the typespec from the symbol, rather than the
271 2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
274 * check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
276 2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
279 * match.c (match_case_selector): Check for invalid type.
281 2015-11-06 David Malcolm <dmalcolm@redhat.com>
283 * cpp.c (cb_cpp_error): Convert parameter from location_t to
284 rich_location *. Eliminate the "column_override" parameter.
285 * error.c (gfc_warning): Update for change in signature of
287 (gfc_format_decoder): Update handling of %C/%L for changes
289 (gfc_diagnostic_starter): Use richloc when determining whether to
290 print one locus or two. When handling a location that will
291 involve a call to diagnostic_show_locus, only attempt to print the
292 locus for the primary location, and don't call into
293 diagnostic_print_caret_line.
294 (gfc_warning_now_at): Update for change in signature of
296 (gfc_warning_now): Likewise.
297 (gfc_error_now): Likewise.
298 (gfc_fatal_error): Likewise.
299 (gfc_error): Likewise.
300 (gfc_internal_error): Likewise.
302 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
304 * openmp.c (gfc_match_omp_clauses): Update support for the tile
305 and default clauses in OpenACC.
306 (gfc_match_oacc_update): Error when data clauses are supplied.
307 (oacc_compatible_clauses): Delete.
308 (resolve_omp_clauses): Give special care for OpenACC reductions.
309 Also update error reporting for the tile clause.
310 (resolve_oacc_loop_blocks): Update error reporting for the tile clause.
311 * trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add
312 OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument.
313 (gfc_trans_oacc_combined_directive): Update the list of clauses which
314 are split to acc loops.
316 2015-11-05 Jakub Jelinek <jakub@redhat.com>
318 * types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
319 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
321 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
322 Chung-Lin Tang <cltang@codesourcery.com>
324 * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
326 (gfc_exec_op): Add EXEC_OACC_ATOMIC.
327 * match.h (gfc_match_oacc_atomic): New prototype.
328 * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
329 wrapper functions around...
330 (gfc_match_omp_oacc_atomic): ... this new function.
331 (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
333 * parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
334 (case_exec_markers): Add ST_OACC_ATOMIC.
335 (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
336 (parse_omp_atomic): Rename to...
337 (parse_omp_oacc_atomic): ... this new function. Add omp_p formal
338 parameter. Adjust all users.
339 (parse_executable): Handle ST_OACC_ATOMIC.
340 (is_oacc): Handle EXEC_OACC_ATOMIC.
341 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
343 * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
344 * trans-openmp.c (gfc_trans_oacc_directive): Handle
346 * trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
348 2015-10-31 Cesar Philippidis <cesar@codesourcery.com>
352 * openmp.c (resolve_omp_clauses): Pass &n->where when calling
355 2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
357 * gfortran.h (gfc_omp_namespace): Add locus where member.
358 * openmp.c (gfc_match_omp_variable_list): Set where for each list
360 (resolve_omp_clauses): Remove where argument and use the where
361 gfc_omp_namespace member when reporting errors.
362 (resolve_omp_do): Update call to resolve_omp_clauses.
363 (resolve_oacc_loop): Likewise.
364 (gfc_resolve_oacc_directive): Likewise.
365 (gfc_resolve_omp_directive): Likewise.
366 (gfc_resolve_omp_declare_simd): Likewise.
368 2015-10-15 Steven G. Kargl <kargl@gcc.gnu.org>
371 * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
372 if-statement causing an early return leads to valid error message.
374 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
377 * interface.c (get_expr_storage_size): Check for INTEGER type before
378 calling gmp routines.
380 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
383 * decl.c (add_init_expr_to_sym): if the char length in the typespec
384 is NULL, check for and use a constructor.
386 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
389 * decl.c (match_attr_spec): PROTECTED can only be a module.
391 2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
394 * trans-decl.c (generate_local_decl): Mark PARAMETER entities in
397 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
399 * array.c: Reorder #include's and remove duplicates.
400 * convert.c: Likewise.
403 * f95-lang.c: Likewise.
404 * frontend-passes.c: Likewise.
405 * iresolve.c: Likewise.
407 * module.c: Likewise.
408 * options.c: Likewise.
410 * resolve.c: Likewise.
411 * simplify.c: Likewise.
412 * target-memory.c: Likewise.
413 * trans-array.c: Likewise.
414 * trans-common.c: Likewise.
415 * trans-const.c: Likewise.
416 * trans-decl.c: Likewise.
417 * trans-expr.c: Likewise.
418 * trans-intrinsic.c: Likewise.
419 * trans-io.c: Likewise.
420 * trans-openmp.c: Likewise.
421 * trans-stmt.c: Likewise.
422 * trans-types.c: Likewise.
425 2015-10-29 Richard Biener <rguenther@suse.de>
427 * f95-lang.c: Properly build variadic types for classification
428 and comparison builtins.
430 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
431 James Norris <jnorris@codesourcery.com>
434 * openmp.c (resolve_oacc_cache): Remove function.
435 (gfc_match_oacc_cache): Enable array sections.
436 (resolve_omp_clauses, gfc_resolve_oacc_directive): Change
438 * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
440 2015-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
443 * decl.c (char_len_param_value): Check for REF_ARRAY.
445 2015-10-26 Louis Krupp <louis.krupp@zoho.com>
448 * fortran.h: Include namespace pointer in statement label
450 * symbol.c (gfc_get_st_label): Store pointer to namespace
451 that owns the statement label tree in each label.
452 (gfc_free_st_label): Use namespace owning statement label
453 tree when deleting statement label.
454 * io.c: Initialize format_asterisk with NULL namespace pointer.
456 2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
459 * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling
462 2015-10-26 Andre Vehreschild <vehre@gcc.gnu.org>
465 * trans-array.c (evaluate_bound): For deferred length arrays get the
466 bounds directly from the descriptor, i.e., prevent using constant
467 zero lower bound from the gfc_conv_array_lbound () routine.
468 (gfc_conv_section_startstride): Hand deferred array status to
470 (gfc_conv_expr_descriptor): Same.
472 2015-01-25 Paul Thomas <pault@gcc.gnu.org>
475 * trans-array.c (structure_alloc_comps): On deallocation of
476 class components, reset the vptr to the declared type vtable
477 and reset the _len field of unlimited polymorphic components.
478 *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
479 allocatable component references to the right of part reference
480 with non-zero rank and return NULL.
481 (gfc_reset_vptr): Simplify this function by using the function
482 gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
483 (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
485 * trans-stmt.c (gfc_trans_allocate): Rely on the use of
486 gfc_trans_assignment if expr3 is a variable expression since
487 this deals correctly with array sections.
489 2015-10-25 Andre Vehreschild <vehre@gcc.gnu.org>
493 * trans-array.c (build_array_ref): Modified call to
494 gfc_get_class_array_ref to adhere to new interface.
495 (gfc_conv_expr_descriptor): For one-based arrays that
496 are filled by a loop starting at one the start index of the
497 source array has to be mangled into the offset.
498 * trans-expr.c (gfc_get_class_array_ref): When the tree to get
499 the _data component is present already, add a way to supply it.
500 (gfc_copy_class_to_class): Allow to copy to a derived type also.
501 * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor
502 for functions returning a class or derived object. Get the
504 * trans.h: Interface change of gfc_get_class_array_ref.
506 2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
509 * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
512 2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
515 * array.c (gfc_match_array_constructor): Check for error from type
517 * decl.c (char_len_param_value): Check for valid of charlen parameter.
518 Reap dead code dating to 2008.
519 match.c (gfc_match_type_spec): Special case the keyword use in REAL.
521 2015-10-23 Mikhail Maltsev <maltsevm@gmail.com>
523 * trans-common.c (create_common): Adjust to use flag_checking.
524 * trans.c (gfc_add_modify_loc): Use gcc_checking_assert.
526 2015-10-21 Martin Sebor <msebor@redhat.com>
529 * lang.opt: End each sentence that describes an option with a period.
531 2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
534 * data.c (create_character_initializer): Deal with zero length string.
536 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
538 * resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
540 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
543 * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
544 message to be issued.
546 2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
549 * gfortran.h (gfc_symbol): Expand comment.
550 * match.c (gfc_match_common): Delay adding the symbol to
551 the common_block after the gfc_add_in_common call.
552 * symbol.c (gfc_free_symbol): Move common block memory handling...
553 (gfc_set_symbol_common_block): ... here as a new function.
554 (restore_old_symbol): Restore common block fields.
555 (gfc_restore_last_undo_checkpoint):
556 Check the common_block pointer instead of the in_common attribute.
557 When a symbol has been removed from the common block linked list,
558 clear its common_next pointer.
560 2015-10-18 Paul Thomas <pault@gcc.gnu.org>
564 * primary.c (match_substring): Add an argument 'deferred' to
565 flag that a substring reference with null start and end should
566 not be optimized away for deferred length strings.
567 (match_string_constant, gfc_match_rvalue): Set the argument.
568 * trans-expr.c (alloc_scalar_allocatable_for_assignment): If
569 there is a substring reference return.
570 * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
571 characters, assign the 'from' string length to the 'to' string
572 length. If the 'from' expression is deferred, set its string
573 length to zero. If the 'to' expression has allocatable
574 components, deallocate them.
576 2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
579 * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0,
580 force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
581 * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
582 If 'start' is larger than 'end', length of substring is negative,
583 so explicitly set it to zero.
584 (resolve_charlen): Remove -Wsurprising warning. Update comment to
585 reflect that the text is from the F2008 standard.
587 2015-10-16 Richard Biener <rguenther@suse.de>
589 * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust
591 (gfc_conv_intrinsic_mod): Likewise.
592 (gfc_conv_intrinsic_ctime): Likewise.
593 (gfc_conv_intrinsic_fdate): Likewise.
594 (gfc_conv_intrinsic_ttynam): Likewise.
595 (gfc_conv_intrinsic_minmax_char): Likewise.
596 (gfc_conv_intrinsic_index_scan_verify): Likewise.
597 (gfc_conv_intrinsic_trim): Likewise.
599 2015-10-14 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
601 * parse.c (decode_statement): Initialize M to MATCH_NO.
603 2015-10-13 Jakub Jelinek <jakub@redhat.com>
604 Ilya Verbin <ilya.verbin@intel.com>
606 * f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
607 DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
608 * trans-openmp.c (gfc_trans_omp_clauses): Set
609 OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
611 (gfc_trans_omp_critical): Adjust for addition of clauses.
612 (gfc_trans_omp_ordered): Likewise.
613 * types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
614 BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
615 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
616 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
617 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
618 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
619 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
620 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
621 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
622 BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
623 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
624 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
625 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
627 2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org>
630 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and
631 on stack class objects as sizeof parameter.
633 2015-10-06 Louis Krupp <louis.krupp@zoho.com>
635 * resolve.c (gfc_resolve_substring_charlen): For derived type,
636 use typespec of string component when resolving substring length.
638 2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
640 * match.c (gfc_match_common): Remove dead variable old_blank_common.
642 2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
645 * match.c (gfc_match_common): Delay the common_block pointer
646 assignment after error checking.
647 Delay the call to gfc_add_in_common attribute after the handling
649 * resolve.c (resolve_common_vars): Call gfc_add_in_common again.
651 2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
653 * resolve.c (resolve_common_vars): Move access to the common
654 block's head symbol inside the function.
655 (resolve_common_blocks, resolve_types): Update callers.
657 2015-10-01 Louis Krupp <louis.krupp@zoho.com>
662 (store_backend_decl): Create new gfc_charlen instance if requested
663 (get_array_ctor_all_strlen): Call store_backend_decl requesting
665 (trans_array_constructor): Call store_backend_decl requesting
666 new gfc_charlen if get_array_ctor_strlen was called
667 (gfc_add_loop_ss_code): Don't try to convert non-constant length
669 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
672 * decl.c (add_init_expr_to_sym): Numeric constant for character
673 length must be an INTEGER.
675 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
678 * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
679 missing 'return false'.
681 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
684 * primary.c (gfc_match_structure_constructor): Use a possibly
685 host-associated symtree to prevent ICE.
687 2015-09-28 Paul Thomas <pault@gcc.gnu.org>
691 * decl.c (get_proc_name): Return if statement function is
693 * expr.c (gfc_check_vardef_context): Add error return for
694 derived type expression lacking the derived type itself.
695 * match.c (gfc_match_ptr_fcn_assign): New function.
696 * match.h : Add prototype for gfc_match_ptr_fcn_assign.
697 * parse.c : Add static flag 'in_specification_block'.
698 (decode_statement): If in specification block match a statement
699 function, then, if no error arising from statement function
700 matching, try to match pointer function assignment.
701 (parse_interface): Set 'in_specification_block' on exiting from
703 (parse_spec): Set and then reset 'in_specification_block'.
704 (gfc_parse_file): Set 'in_specification_block'.
705 * resolve.c (get_temp_from_expr): Extend to include functions
706 and array constructors as rvalues..
707 (resolve_ptr_fcn_assign): New function.
708 (gfc_resolve_code): Call it on finding a pointer function as an
709 lvalue. If valid or on error, go back to start of resolve_code.
710 * symbol.c (gfc_add_procedure): Add a sentence to the error to
711 flag up the ambiguity between a statement function and pointer
712 function assignment at the end of the specification block.
714 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
716 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
717 (DEF_FUNCTION_TYPE_VAR_11): Delete.
718 * types.def (DEF_FUNCTION_TYPE_VAR_6): New.
719 (DEF_FUNCTION_TYPE_VAR_11): Delete.
721 2015-09-26 Mikael Morin <mikael@gcc.gnu.org>
724 * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
725 condition guarding deep copy.
727 2013-09-26 Paul Thomas <pault@gcc.gnu.org>
730 * resolve.c (resolve_fl_procedure): For module procedures, take
731 the parent module name and the submodule name from the name of
734 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
737 * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
739 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
742 * parse.c (match_deferred_characteristics): Remove an assert, which
743 allows an invalid SELECT TYPE selector to be detected.
745 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
747 PR pretty-print/67567
748 * resolve.c (resolve_fl_procedure): Work-around when iface->module
751 2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
753 * resolve.c (nonscalar_typebound_assign): Fix typos in comment.
755 2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
758 * resolve.c (gfc_resolve_code): Check for scalar expression in
761 2015-09-17 Paul Thomas <pault@gcc.gnu.org>
765 * module.c : Add static no_module_procedures.
766 (gfc_match_submodule): Correct memory leakage caused during the
767 freeing of use_lists.
768 (mio_symbol_attribute): Reset above if module procedure is
770 (gfc_dump_module): Set above and exit without writing smod file
772 * gfortran.texi : Add section on submodule support.
774 2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
777 * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
779 2015-09-10 Paul Thomas <pault@gcc.gnu.org>
782 * module.c (read_module): If a symtree exists and the symbol has
783 been associated in a submodule from a parent (sub)module, attach
784 the symbol to a 'unique symtree' and the new symbol to the
787 2015-09-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
789 * intrinsic.h (gfc_simplify_mvbits): Remove.
790 * simplify.c (gfc_simplify_mvbits): Remove.
791 * intrinsic.c (add_subroutines): Remove reference to
794 2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
797 * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
798 caret lines might be skipped when actually giving a diagnostic.
800 2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
803 * trans.c (gfc_call_free): Don't check if pointer is NULL.
804 * trans.h (gfc_call_free): Adjust comment.
806 2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
808 * trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
809 gfc_allocate_using_lib, gfc_allocate_allocatable,
810 gfc_call_realloc): Simplify code.
811 * trans-array.c (gfc_trans_allocate_array_storage,
812 gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
813 convert gfc_call_free() argument.
814 * trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
815 fcncall_realloc_result): Likewise.
816 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.
818 2015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
821 * intrinsic.c (add_functions, add_subroutines): Remove resolution
822 functions for FREE and MALLOC.
823 * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
824 * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
825 * trans-intrinsic.c (conv_intrinsic_free,
826 gfc_conv_intrinsic_malloc): New functions.
828 2015-08-24 Louis Krupp <louis.krupp@zoho.com>
832 * decl.c (gfc_match_end): Clean up nested BLOCKs.
833 * parse.c (parse_block_construct): Deal gracefully with cleaned-up
836 2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
839 * config-lang.in: Add libbacktrace to target_libs.
841 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
843 * dependency.c, dependency.h, gfortran.h, io.c, module.c,
844 parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs.
846 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
849 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
850 for quadruple precision BUILT_IN_SQRT.
852 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
854 * trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
855 generic BUILT_IN_SIGNBIT.
856 (conv_intrinsic_ieee_copy_sign): Likewise.
857 * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
858 BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
859 BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
860 variants of BUILT_IN_SIGNBIT.
861 * mathbuiltins.def: Remove SIGNBIT.
863 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
866 * gfortran.texi: New section "File operations on symbolic links".
868 2015-08-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
871 * gfortranspec.c (lang_specific_driver): Adjust --version output.
873 2015-08-08 Bud Davis <jmdavis@link.com>
874 Mikael Morin <mikael@gcc.gnu.org>
877 * symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
878 symbol if it was put in the list.
880 2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
883 * expr.c (gfc_check_init_expr): Allow some IEEE functions in
884 constant expressions.
885 (external_spec_function): Allow some IEEE functions in specification
887 * simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
888 (simplify_ieee_selected_real_kind, simplify_ieee_support,
889 matches_ieee_function_name, gfc_simplify_ieee_functions): New
891 * gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
893 (gfc_simplify_ieee_functions): Add prototype.
895 2015-08-06 Mikael Morin <mikael@gcc.gnu.org>
897 * trans.h (gfc_trans_scalar_assign): Remove fourth argument.
898 * trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
900 (gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
901 gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
902 * trans-array.c (gfc_conv_expr_descriptor): Ditto.
903 * trans-stmt.c (forall_make_variable_temp,
904 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
905 gfc_trans_where_assign, gfc_trans_where_3): Ditto.
907 2015-08-05 Paul Thomas <pault@gcc.gnu.org>
910 * module.c (check_access): Return true if new static flag
911 'dump_smod' is true..
912 (gfc_dump_module): Rename original 'dump_module' and call from
913 new version. Use 'dump_smod' rather than the stack state to
914 determine if a submodule is being processed. The new version of
915 this procedure sets 'dump_smod' depending on the stack state and
916 then writes both the mod and smod files if a module is being
917 processed or just the smod for a submodule.
918 (gfc_use_module): Eliminate the check for module_name and
919 submodule_name being the same.
920 * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array,
921 get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use
922 the conditions to set DECL_VISIBILITY as hidden and to set as
923 true DECL_VISIBILITY_SPECIFIED.
925 2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
928 * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
929 support to all real kinds.
931 2015-08-03 Steven G. Kargl <kargl@gcc.gnu.org>
934 * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
936 2015-08-03 Mikael Morin <mikael@gcc.gnu.org>
939 * class.c (generate_finalization_wrapper): Set finalization
940 procedure symbol's always_explicit attribute.
942 2015-08-01 Paul Thomas <pault@gcc.gnu.org>
945 * trans-intrinsic.c (gfc_conv_associated): Add the pre and post
946 blocks for the second argument to se.
948 2015-07-27 Thomas Schwinge <thomas@codesourcery.com>
950 * parse.c (parse_oacc_structured_block): Fix logic error.
951 Reported by Mikael Morin <mikael.morin@sfr.fr>.
953 2015-07-24 Mikael Morin <mikael@gcc.gnu.org>
956 * trans-expr.c (gfc_trans_assignment_1): Put component deallocation
957 code at the beginning of the block.
959 2015-07-22 Mikael Morin <mikael@gcc.gnu.org>
963 * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
966 2015-07-17 Paul Thomas <pault@gcc.gnu.org>
969 * decl.c (gfc_match_end): Pick out declared submodule name from
970 the composite identifier.
971 * gfortran.h : Add 'submodule_name' to gfc_use_list structure.
972 * module.c (gfc_match_submodule): Define submodule_name and add
973 static 'submodule_name'.
974 (gfc_match_submodule): Build up submodule filenames, using '@'
975 as a delimiter. Store the output filename in 'submodule_name'.
976 Similarly, the submodule identifier is built using '.' as an
978 (gfc_dump_module): If current state is COMP_SUBMODULE, write
979 to file 'submodule_name', using SUBMODULE_EXTENSION.
980 (gfc_use_module): Similarly, use the 'submodule_name' field in
981 the gfc_use_list structure and SUBMODULE_EXTENSION to read the
982 implicitly used submodule files.
984 2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
986 * trans-intrinsic.c (conv_co_collective): Remove redundant address
987 operator in the generated code.
989 2015-07-17 Andre Vehreschild <vehre@gcc.gnu.org>
992 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
993 Compute the size to allocate for class and derived type objects
995 (gfc_trans_subcomponent_assign): Only allocate memory for a
996 component when the object to assign is not an allocatable class
997 object (the memory is already present for allocatable class objects).
998 Furthermore use copy_class_to_class for assigning the rhs to the
999 component (may happen for dummy class objects on the rhs).
1001 2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
1002 Dominique d'Humieres <dominiq@lps.ens.fr>
1005 * trans-array.c (gfc_conv_array_parameter): Guard allocatable
1006 component deallocation code generation with descriptorless
1007 calling convention flag.
1008 * trans-expr.c (gfc_conv_expr_reference): Remove allocatable
1009 component deallocation code generation from revision 212329.
1010 (expr_may_alias_variables): New function.
1011 (gfc_conv_procedure_call): New boolean elemental_proc to factor
1012 check for procedure elemental-ness. Rename boolean f to nodesc_arg
1013 and declare it in the outer scope. Use expr_may_alias_variables,
1014 elemental_proc and nodesc_arg to decide whether generate allocatable
1015 component deallocation code.
1016 (gfc_trans_subarray_assign): Set deep copy flag.
1018 2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
1022 * io.c (is_char_type): Call gfc_resolve_expr ().
1023 (match_open_element, match_dt_element, match_inquire_element): Fix
1026 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
1028 * trans-types.c: Remove multiline #include comment.
1030 2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
1032 * simplify.c (gfc_simplify_floor): Set precision of temporary to
1035 2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
1038 * class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
1039 types in the top-level namespace.
1041 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
1043 * trans-stmt.c: Fix double word typos.
1045 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
1047 * arith.c: Adjust includes for flags.h changes.
1048 * array.c: Likewise.
1049 * check.c: Likewise.
1051 * error.c: Likewise.
1053 * frontend-passes.c: Likewise.
1054 * interface.c: Likewise.
1055 * intrinsic.c: Likewise.
1057 * match.c: Likewise.
1058 * openmp.c: Likewise.
1059 * parse.c: Likewise.
1060 * primary.c: Likewise.
1061 * resolve.c: Likewise.
1062 * scanner.c: Likewise.
1063 * simplify.c: Likewise.
1064 * symbol.c: Likewise.
1065 * target-memory.c: Likewise.
1067 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
1069 * convert.c: Adjust includes.
1072 * f95-lang.c: Likewise.
1073 * iresolve.c: Likewise.
1074 * match.c: Likewise.
1075 * module.c: Likewise.
1076 * options.c: Likewise.
1077 * target-memory.c: Likewise.
1078 * trans-array.c: Likewise.
1079 * trans-common.c: Likewise.
1080 * trans-const.c: Likewise.
1081 * trans-decl.c: Likewise.
1082 * trans-expr.c: Likewise.
1083 * trans-intrinsic.c: Likewise.
1084 * trans-io.c: Likewise.
1085 * trans-openmp.c: Likewise.
1086 * trans-stmt.c: Likewise.
1087 * trans-types.c: Likewise.
1088 * trans.c: Likewise.
1090 2015-07-07 Andre Vehreschild <vehre@gmx.de>
1093 * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
1094 is one-based for non-full array refs. Correct the offset when a
1097 2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
1099 * io.c (check_char_variable): New function.
1100 (match_open_element, match_close_element, match_file_element,
1101 match_dt_element, match_inquire_element, match_wait_element): Use it.
1103 2015-07-06 Andre Vehreschild <vehre@gmx.de>
1106 * resolve.c (resolve_symbol): Non-private functions in modules
1107 with allocatable or pointer components are marked referenced
1108 now. Furthermore is the default init especially for those
1109 components now done in gfc_conf_procedure_call preventing
1111 * trans-decl.c (gfc_generate_function_code): Generate a fake
1112 result decl for functions returning an object with allocatable
1113 components and initialize them.
1114 * trans-expr.c (gfc_conv_procedure_call): For value typed trees
1115 use the tree without indirect ref. And for non-decl trees
1116 add a temporary variable to prevent evaluating the tree
1117 multiple times (prevent multiple function evaluations).
1118 * trans.h: Made gfc_trans_structure_assign () protoype
1119 available, which is now needed by trans-decl.c:gfc_generate_
1120 function_code(), too.
1122 2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
1125 * io.c (is_char_type): New function to test for BT_CHARACTER
1126 (gfc_match_open, gfc_match_close, match_dt_element): Use it.
1128 2015-07-02 David Edelsohn <dje.gcc@gmail.com>
1130 * trans-common.c: Include <map> after system.h.
1132 2015-07-02 Paul Thomas <pault@gcc.gnu.org>
1135 * decl.c (get_proc_name): Make a partially populated interface
1136 symbol to carry the characteristics of a module procedure and
1138 (variable_decl): Declarations of dummies or results in the
1139 abreviated form of module procedure is an error.
1140 (gfc_match_import): IMPORT is not permitted in the interface
1141 declaration of module procedures.
1142 (match_attr_spec): Submodule variables have implicit save
1143 attribute for F2008 onwards.
1144 (gfc_match_prefix): Add 'module' as the a prefix and set the
1145 module_procedure attribute.
1146 (gfc_match_formal_arglist): For a module procedure keep the
1147 interface formal_arglist from the interface, match new the
1148 formal arguments and then compare the number and names of each.
1149 (gfc_match_procedure): Add case COMP_SUBMODULE.
1150 (gfc_match_function_decl, gfc_match_subroutine_decl): Set the
1151 module_procedure attribute.
1152 (gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If
1153 attr abr_modproc_decl is set, switch the message accordingly
1154 for subroutines and functions.
1155 (gfc_match_submod_proc): New function to match the abbreviated
1156 style of submodule declaration.
1157 * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
1158 attribute bits 'used_in_submodule' and 'module_procedure'. Add
1159 the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
1160 for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
1161 'gfc_check_result_characteristics'.
1162 * interface.c : Add the prefix 'gfc_' to the names of functions
1163 'check_dummy(result)_characteristics' and all their references.
1164 * match.h : Add prototype for 'gfc_match_submod_proc' and
1165 'gfc_match_submodule'.
1166 (check_sym_interfaces): A module procedure is not an error in
1167 a module procedure statment in a generic interface.
1168 * module.c (gfc_match_submodule): New function. Add handling
1169 for the 'module_procedure' attribute bit.
1170 (gfc_use_module): Make sure that a submodule cannot use itself.
1171 * parse.c (decode_statement): Set attr has_'import_set' for
1172 the interface declaration of module procedures. Handle a match
1173 occurring in 'gfc_match_submod_proc' and a match for
1175 (gfc_enclosing_unit): Include the state COMP_SUBMODULE.
1176 (gfc_ascii_statement): Add END SUBMODULE.
1177 (accept_statement): Add ST_SUBMODULE.
1178 (parse_spec): Disallow statement functions in a submodule
1180 (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
1182 (get_modproc_result): Copy the result symbol of the interface.
1183 (parse_progunit): Call it.
1184 (set_syms_host_assoc): Make symbols from the ancestor module
1185 and submodules use associated, as required by the standard and
1186 set all private components public. Module procedures 'external'
1187 attribute bit is reset and the 'used_in_submodule' bit is set.
1188 (parse_module): If this is a submodule, use the ancestor module
1189 and submodules. Traverse the namespace, calling
1190 'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
1191 * parse.h : Add COMP_SUBMODULE.
1192 * primary.c (match_variable): Add COMP_SUBMODULE.
1193 * resolve.c (compare_fsyms): New function to compare the dummy
1194 characteristics of a module procedure with its interface.
1195 (resolve_fl_procedure): Compare the procedure, result and dummy
1196 characteristics of a module_procedure with its interface, using
1197 'compare_fsyms' for the dummy arguments.
1198 * symbol.c (gfc_add_procedure): Suppress the check for existing
1199 procedures in the case of a module procedure.
1200 (gfc_add_explicit_interface): Skip checks that must fail for
1202 (gfc_add_type): Allow a new type to be added to module
1203 procedures, their results or their dummy arguments.
1204 (gfc_copy_dummy_sym): New function to generate new dummy args
1205 and copy the characteristics from the interface.
1206 * trans-decl.c (gfc_sym_mangled_function_id): Module procedures
1207 must always have their names mangled as if they are symbols
1208 coming from a declaration in a module.
1209 (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
1210 (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
1211 set are set DECL_EXTERNAL as if they were use associated.
1213 2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
1216 * match.c (gfc_match_name): Special case unary minus and plus.
1218 2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
1221 * primary.c (match_sym_complex_part): Do not dereference NULL pointer.
1223 2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
1225 * arith.c (gfc_arith_divide): With -Winteger-division,
1226 warn about contant integer division if there is a non-zero
1228 * invoke.texi: Document -Winteger-division.
1229 * lang.opt: Add -Winteger-division.
1231 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
1233 * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1234 * trans-decl.c: Likewise.
1236 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1238 * trans-decl.c (module_hasher): Likewise.
1239 * trans.h (module_decl_hasher): Likewise.
1241 2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1244 * error.c (gfc_warning_check): Restore the default output_buffer
1245 before calling diagnostic_action_after_output.
1246 (gfc_error_check): Likewise.
1247 (gfc_diagnostics_init): Add comment.
1249 2015-06-23 Andre Vehreschild <vehre@gmx.de>
1252 * parse.c (parse_associate): Figure the rank and as of a
1253 class array in an associate early.
1254 * primary.c (gfc_match_varspec): Prevent setting the
1255 dimension attribute on the sym for classes.
1256 * resolve.c (resolve_variable): Correct the component
1257 ref's type for associated variables. Add a full array ref
1258 when class array's are associated.
1259 (resolve_assoc_var): Correct the type of the symbol,
1260 when in the associate the expression's rank becomes scalar.
1261 * trans-expr.c (gfc_conv_variable): Indirect ref needed for
1262 allocatable associated objects.
1264 2015-06-19 Mikael Morin <mikael@gcc.gnu.org>
1267 * resolve.c (resolve_global_procedure): Don't save and restore
1268 OpenMP state around the call to gfc_resolve.
1269 (gfc_resolve): Save OpenMP state on entry and restore it on return.
1271 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1273 * convert.c: Do not include input.h, line-map.h or is-a.h.
1276 * f95-lang.c: Likewise.
1277 * gfortran.h: Likewise.
1278 * iresolve.c: Likewise.
1279 * match.c: Likewise.
1280 * module.c: Likewise.
1281 * options.c: Likewise.
1282 * target-memory.c: Likewise.
1283 * trans-array.c: Likewise.
1284 * trans-common.c: Likewise.
1285 * trans-const.c: Likewise.
1286 * trans-decl.c: Likewise.
1287 * trans-expr.c: Likewise.
1288 * trans-intrinsic.c: Likewise.
1289 * trans-io.c: Likewise.
1290 * trans-openmp.c: Likewise.
1291 * trans-stmt.c: Likewise.
1292 * trans-types.c: Likewise.
1293 * trans.c: Likewise.
1295 2015-06-15 Andre Vehreschild <vehre@gmx.de>
1300 * gfortran.h: Extend gfc_code.ext.alloc to carry a
1301 flag indicating that the array specification has to be
1303 * resolve.c (resolve_allocate_expr): Add F2008 notify
1304 and flag indicating source driven array spec.
1305 (resolve_allocate_deallocate): Check for source driven
1306 array spec, when array to allocate has no explicit
1308 * trans-array.c (gfc_array_init_size): Get lower and
1309 upper bound from a tree array descriptor, except when
1310 the source expression is an array-constructor which is
1311 fixed to be one-based.
1312 (retrieve_last_ref): Extracted from gfc_array_allocate().
1313 (gfc_array_allocate): Enable allocate(array, source=
1314 array_expression) as specified by F2008:C633.
1315 (gfc_conv_expr_descriptor): Add class tree expression
1316 into the saved descriptor for class arrays.
1317 * trans-array.h: Add temporary array descriptor to
1318 gfc_array_allocate ().
1319 * trans-expr.c (gfc_conv_procedure_call): Special handling
1320 for _copy() routine translation, that comes without an
1321 interface. Third and fourth argument are now passed by value.
1322 * trans-stmt.c (gfc_trans_allocate): Get expr3 array
1323 descriptor for temporary arrays to allow allocate(array,
1324 source = array_expression) for array without array
1327 2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1329 * intrinsic.texi: Change \leq to < in descrition of imaginary
1330 part in argument to log.
1332 2015-06-11 Paul Thomas <pault@gcc.gnu.org>
1335 * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
1336 function results must be freed and nullified after use. Create
1337 a temporary to hold the result to prevent duplicate calls.
1338 * trans-stmt.c (gfc_trans_allocate): Rename temporary variable
1339 as 'source'. Deallocate allocatable components of non-variable
1342 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
1344 * f95-lang.c (gfc_create_decls): Register the main translation unit
1345 through the new debug hook.
1347 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
1349 * convert.c : Adjust include files.
1351 * decl.c : Likewise.
1352 * f95-lang.c : Likewise.
1353 * gfortran.h : Likewise.
1354 * iresolve.c : Likewise.
1355 * match.c : Likewise.
1356 * module.c : Likewise.
1357 * openmp.c : Likewise.
1358 * options.c : Likewise.
1359 * target-memory.c : Likewise.
1360 * trans-array.c : Likewise.
1361 * trans-common.c : Likewise.
1362 * trans-const.c : Likewise.
1363 * trans-decl.c : Likewise.
1364 * trans-expr.c : Likewise.
1365 * trans-intrinsic.c : Likewise.
1366 * trans-io.c : Likewise.
1367 * trans-openmp.c : Likewise.
1368 * trans-stmt.c : Likewise.
1369 * trans-types.c : Likewise.
1370 * trans.c : Likewise.
1372 2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
1375 * match.c (gfc_match_type_is, gfc_match_class_is): Check if the
1376 return type spec or derived type spec is validate.
1378 2015-06-06 Thomas Koenig <tkoenig@netcologne.de>
1381 * arith.c (eval_intrinsic_op): Set warn flag for
1382 gfc_type_convert_binary if -Wconversion or -Wconversion-extra
1384 (wprecision_real_real): New function.
1385 (wprecision_int_real): New function.
1386 (gfc_int2int): If -fno-range-check and -Wconversion are specified
1387 and it is a narrowing conversion, warn.
1388 (gfc_int2real): If there is a change in value for the conversion,
1390 (gfc_int2complex): Likewise.
1391 (gfc_real2int): If there is a fractional part to the real number,
1392 warn with -Wconversion, otherwise warn with -Wconversion-extra.
1393 (gfc_real2real): Emit warning if the constant was changed by
1394 conversion with either -Wconversion or -Wconversion-extra. With
1395 -Wconversion-extra, warn if no warning was issued earlier.
1396 (gfc_real2complex): Likewise.
1397 (gfc_complex2int): For -Wconversion or -Wconversion-extra, if
1398 there was an imaginary part, warn; otherwise, warn for change in
1399 value. Warn with -Wconversion-extra if no other warning was
1401 (gfc_complex2real): For -Wconversion or -Wconversion-extra, if
1402 there was an imaginary part, warn; otherwise, warn for change in
1403 value. Warn with -Wconversion-extra if no other warning was
1405 (gfc_complex2complex): For -Wconversion, warn if the value of
1406 either the real or the imaginary part was changed. Warn for
1407 -Wconversion-extra if no prior warning was issued.
1408 * expr.c (gfc_check_assign): Remove check for change in value.
1409 * primary.c (match_real_constant): For -Wconversion-extra, check
1410 against a number in which the last non-zero digit has been
1411 replaced with a zero. If the number compares equal, warn.
1412 * intrinsic.c (gfc_convert_type_warn): Do not warn about constant
1415 2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
1418 * resolve.c (apply_default_init_local): Do not dereference a NULL
1421 2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1424 * frontend-passes.c (combine_array_constructor): Return early if
1425 inside a FORALL loop.
1427 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
1429 * f95-lang.c (gfc_write_global_declarations): Remove.
1430 (LANG_HOOKS_WRITE_GLOBALS): Remove.
1431 (gfc_write_global_declarations): Move code from here to...
1432 (gfc_be_parse_file): ...here.
1433 Call global_decl_processing.
1434 * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl
1435 to early_global_decl.
1437 2015-06-05 Russell Whitesides <russelldub@gmail.com>
1438 Steven G. Kargl <kargl@gcc.gnu.org>
1443 * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
1444 from different modules. Eliminate the pruning of unused
1447 2015-06-04 Thomas Koenig <tkoenig@netcologne.de>
1450 * iresolve.c (gfc_resolve_adjustl): If string has a charlen,
1451 copy it to the function.
1452 (gfc_resolve_adjustr): Likewise.
1454 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
1456 * convert.c: Adjust includes for restructured coretypes.h.
1459 * f95-lang.c: Likewise.
1460 * iresolve.c: Likewise.
1461 * match.c: Likewise.
1462 * module.c: Likewise.
1463 * options.c: Likewise.
1464 * target-memory.c: Likewise.
1465 * trans-array.c: Likewise.
1466 * trans-common.c: Likewise.
1467 * trans-const.c: Likewise.
1468 * trans-decl.c: Likewise.
1469 * trans-expr.c: Likewise.
1470 * trans-intrinsic.c: Likewise.
1471 * trans-io.c: Likewise.
1472 * trans-openmp.c: Likewise.
1473 * trans-stmt.c: Likewise.
1474 * trans-types.c: Likewise.
1475 * trans.c: Likewise.
1477 2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
1480 * simplify.c (gfc_simplify_reshape): Convert assert into returning
1481 NULL, which triggers an error condition.
1483 2015-05-27 Andre Vehreschild <vehre@gmx.de>
1486 * trans-stmt.c (gfc_trans_allocate): Add missing location
1487 information for e3rhs.
1489 2015-05-26 Paul Thomas <pault@gcc.gnu.org>
1492 * trans-array.c (gfc_conv_array_parameter): Ensure that all
1493 non-variable arrays with allocatable components have the
1494 components deallocated after the procedure call.
1496 2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
1499 * resolve.c (resolve_actual_arglist): Don't throw an error
1500 if the argument with procedure pointer component is not a variable.
1502 2015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1505 * gfortran.h (struct gfc_error_buf): Rename as
1506 gfc_error_buffer. Move closer to push, pop and free
1507 methods. Reimplement using an output_buffer.
1508 * error.c (errors, warnings, warning_buffer, cur_error_buffer):
1509 Delete everywhere in this file.
1510 (error_char): Delete all contents.
1511 (gfc_increment_error_count): Delete.
1512 (gfc_error_now): Update comment. Set error_buffer.flag.
1513 (gfc_warning_check): Do not handle warning_buffer.
1514 (gfc_error_1): Delete.
1515 (gfc_error_now_1): Delete.
1516 (gfc_error_check): Simplify.
1517 (gfc_move_error_buffer_from_to): Renamed from
1518 gfc_move_output_buffer_from_to.
1519 (gfc_push_error): Handle only gfc_error_buffer.
1520 (gfc_pop_error): Likewise.
1521 (gfc_free_error): Likewise.
1522 (gfc_get_errors): Remove warnings and errors.
1523 (gfc_diagnostics_init): Use static error_buffer.
1524 (gfc_error_1,gfc_error_now_1): Delete declarations.
1525 * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
1526 frontend-passes.c, resolve.c, match.c, parse.c: Replace
1527 gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
1529 * f95-lang.c (gfc_be_parse_file): Do not update errorcount and
1531 * primary.c (match_complex_constant): Replace gfc_error_buf and
1532 output_buffer with gfc_error_buffer.
1534 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
1536 * Make-lang.in (check_gfortran_parallelize): Update comment.
1538 2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1541 * frontend-passes.c (check_conjg_variable): New function.
1542 (inline_matmul_assign): Use it to keep track of conjugated
1545 2015-05-20 Andre Vehreschild <vehre@gmx.de>
1548 * trans-stmt.c (gfc_trans_allocate): Always retrieve the
1549 descriptor or a reference to a source= expression for
1550 arrays and non-arrays, respectively. Use a temporary
1551 symbol and gfc_trans_assignment for all source=
1552 assignments to allocated objects besides for class and
1555 2015-05-19 Jakub Jelinek <jakub@redhat.com>
1558 * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
1559 combined constructs.
1560 (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
1563 2015-05-19 David Malcolm <dmalcolm@redhat.com>
1565 * cpp.c (maybe_print_line): Strengthen local "map" from
1566 const line_map * to const line_map_ordinary *.
1567 (cb_file_change): Likewise for param "map" and local "from".
1568 (cb_line_change): Likewise for local "map".
1570 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1572 * interface.c (compare_actual_formal): Use std::swap instead of
1574 * trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
1575 * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.
1577 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1580 * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
1581 * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
1583 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1586 * decl.c(gfc_match_generic): Detected a malformed GENERIC statement.
1588 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1591 * gfortran.dg/storage_size_6.f90: New tests.
1593 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1596 * gfortran.dg/storage_size_6.f90: New tests.
1598 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1601 * decl.c(gfc_match_entry): Change a gfc_internal_error() into
1604 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1607 * gfortran.dg/storage_size_6.f90: New tests.
1609 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1612 * parse.c(verify_st_order): Replace a gfc_internal_error with your
1615 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1618 * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
1619 BACKSPACE, and ENDFILE statements
1621 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
1624 * symbol.c(check_conflict): Check for a conflict between a dummy
1625 argument and an internal procedure name.
1627 2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1630 * io.c (format_lex): Change to NONSTRING when checking for
1631 possible doubled quote.
1632 * scanner.c (gfc_next_char_literal): Revert change from 64506
1633 and add a check for quotes and return.
1635 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
1638 * expr.c (is_parent_of_current_ns): New function.
1639 (check_restricted): Use it.
1641 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1645 Replace all calls to gfc_notify_std_1 with gfc_notify_std and
1646 gfc_warning_1 with gfc_warning.
1647 * decl.c (gfc_verify_c_interop_param): Here.
1648 * resolve.c (resolve_branch): Here.
1649 (resolve_fl_derived): Here.
1650 * dependency.c (gfc_check_argument_var_dependency):
1651 * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
1652 counter and locations before and after warning.
1653 * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
1655 (gfc_warning_now_at): Declare.
1656 * error.c (gfc_warning_1): Delete.
1657 (gfc_notify_std_1): Delete.
1658 (gfc_warning_now_1): Delete.
1659 (gfc_format_decoder): Handle two locations.
1660 (gfc_diagnostic_build_prefix): Rename as
1661 gfc_diagnostic_build_kind_prefix.
1662 (gfc_diagnostic_build_locus_prefix): Take an expanded_location
1663 instead of diagnostic_info.
1664 (gfc_diagnostic_build_locus_prefix): Add overload that takes two
1666 (gfc_diagnostic_starter): Handle two locations.
1667 (gfc_warning_now_at): New.
1668 (gfc_diagnostics_init): Initialize caret_chars array.
1669 (gfc_diagnostics_finish): Reset caret_chars array to default.
1671 2015-05-16 Mikael Morin <mikael@gcc.gnu.org>
1672 Paul Thomas <pault@gcc.gnu.org>
1675 * trans-expr.c (gfc_trans_subcomponent_assign): Always assign
1676 the expression component to the destination. In addition, if
1677 the component has allocatable components, copy them and
1678 deallocate those of the expression, if it is not a variable.
1679 The expression is fixed if not a variable to prevent multiple
1682 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1685 * frontend-passes.c (has_dimen_vector_ref): New function.
1686 (inline_matmul_assign): Use it to return early in case
1687 of unhandled vector subscripts.
1689 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1693 * gfortran.h (gfc_array_spec): Add field resolved.
1694 * array.c (gfc_resolve_array_spec): Resolve array spec
1697 2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
1700 * simplify.c (simplify_bound): Fix assert to accept subobject arrays.
1702 2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
1705 * frontend-passes.c (scalarized_expr): Set correct dimension and
1706 shape for the expression to be passed to lbound. Remove trailing
1707 references after array refrence.
1708 (inline_matmul_assign): Remove gfc_copy_expr from calls
1709 to scalarized_expr().
1711 2015-05-10 Mikael Morin <mikael@gcc.gnu.org>
1713 * simplify.c (simplify_bound_dim): Don't check for emptyness
1714 in the case of cobound simplification. Factor lower/upper
1715 bound differenciation before the actual simplification.
1716 (simplify_bound): Remove assumed shape specific simplification.
1717 Don't give up early for the lbound of an assumed shape.
1719 2015-05-09 Mikael Morin <mikael@gcc.gnu.org>
1722 * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
1724 * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
1726 (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
1728 (gfc_walk_elemental_function_args): Set the dummy_arg field.
1729 * trans.h (gfc_ss_info): New subfield dummy_arg.
1730 * trans-expr.c (gfc_conv_procedure_call): Revert the change
1732 (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
1735 2015-05-08 Mikael Morin <mikael@gcc.gnu.org>
1737 * trans-array.c (gfc_walk_elemental_function_args):
1738 Don't skip the advance to the next dummy argument when skipping
1739 absent optional args.
1741 2015-05-05 David Malcolm <dmalcolm@redhat.com>
1743 * expr.c (check_inquiry): Fix indentation so that it reflects the
1745 * interface.c (compare_parameter): Likewise.
1746 * parse.c (parse_oacc_structured_block): Likewise.
1747 * target-memory.c (expr_to_char): Likewise.
1748 * trans-types.c (gfc_init_kinds): Likewise.
1750 2015-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
1753 * invoke.texi: Remove 'no-' in '-fno-fixed-form'
1755 2015-05-01 Mikael Morin <mikael@gcc.gnu.org>
1757 * simplify.c (simplify_bound_dim): Tighten the check for array fullness
1758 by also checking for absence of subreference.
1759 (simplify_bound): Don't skip simplification if the array
1761 (simplify_cobound): Same.
1763 2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1766 * simplify.c (simplify_bound): Get constant lower bounds of one
1767 from array spec for assumed and explicit shape shape arrays if
1768 the lower bounds are indeed one.
1770 2015-04-30 David Malcolm <dmalcolm@redhat.com>
1772 * options.c (gfc_init_options): Remove spurious second
1774 * trans-stmt.c (gfc_trans_allocate): Likewise.
1776 2015-04-28 Andre Vehreschild <vehre@gmx.de>
1778 * interface.c (gfc_compare_types): Check for unlimited
1779 polymorphism flag in the correct position indepent of the _data
1780 component being present or not. This prevents a segfault, when
1781 the _data component is not present.
1782 * symbol.c (gfc_type_compatible): Same.
1784 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
1786 * Make-lang.in (fortran.mostlyclean): Remove gfortran and
1789 2015-04-27 Andre Vehreschild <vehre@gmx.de>
1793 * trans-array.c (duplicate_allocatable): Fixed deep copy of
1794 allocatable components, which are liable for copy only, when
1796 (gfc_duplicate_allocatable): Add deep-copy code into if
1797 component allocated block. Needed interface change for that.
1798 (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
1799 add into if-block for checking whether a component was
1801 (gfc_duplicate_allocatable_nocopy): Likewise.
1802 (structure_alloc_comps): Likewise.
1803 * trans-array.h: Likewise.
1804 * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
1805 * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
1807 2015-04-23 Andre Vehreschild <vehre@gmx.de>
1810 * expr.c (gfc_lval_expr_from_sym): Code to select the regular
1811 or class array added.
1812 * gfortran.h: Add IS_CLASS_ARRAY macro.
1813 * trans-array.c (gfc_add_loop_ss_code): Treat class objects
1814 to be referenced always.
1815 (build_class_array_ref): Adapt retrieval of array descriptor.
1816 (build_array_ref): Likewise.
1817 (gfc_conv_array_ref): Hand the vptr or the descriptor to
1818 build_array_ref depending whether the sym is class or not.
1819 (gfc_trans_array_cobounds): Select correct gfc_array_spec for
1820 regular and class arrays.
1821 (gfc_trans_array_bounds): Likewise.
1822 (gfc_trans_dummy_array_bias): Likewise.
1823 (gfc_get_dataptr_offset): Correcting call of build_array_ref.
1824 (gfc_conv_expr_descriptor): Set the array's offset to -1 when
1825 lbound in inner most dim is 1 and symbol non-pointer/assoc.
1826 * trans-decl.c (gfc_build_qualified_array): Select correct
1827 gfc_array_spec for regular and class arrays.
1828 (gfc_build_dummy_array_decl): Likewise.
1829 (gfc_get_symbol_decl): Get a dummy array for class arrays.
1830 (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
1832 * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
1833 from the correct location for class arrays.
1834 (gfc_class_len_get): Likewise.
1835 (gfc_conv_intrinsic_to_class): Add handling of _len component.
1836 (gfc_conv_class_to_class): Prevent access to unset array data
1837 when the array is an optional argument. Add handling of _len
1839 (gfc_copy_class_to_class): Check that _def_init is non-NULL
1840 when used in _vptr->copy()
1841 (gfc_trans_class_init_assign): Ensure that the rank of
1843 (gfc_conv_component_ref): Get the _vptr along with _data refs.
1844 (gfc_conv_variable): Make sure the temp array descriptor is
1845 returned for class arrays, too, and that class arrays are
1846 dereferenced correctly.
1847 (gfc_conv_procedure_call): For polymorphic type initialization
1848 the initializer has to be a pointer to _def_init stored in a
1849 dummy variable, which then needs to be used by value.
1850 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
1851 temporary array descriptor for class arrays, too.
1852 (gfc_conv_intrinsic_storage_size): Likewise.
1853 (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
1855 * trans-stmt.c (trans_associate_var): Use a temporary array for
1856 the associate variable of class arrays, too, making the array
1857 one-based (lbound == 1).
1858 * trans-types.c (gfc_is_nodesc_array): Use the correct
1860 * trans.c (gfc_build_array_ref): Use the dummy array descriptor
1862 * trans.h: Add class_vptr to gfc_se for storing a class ref's
1865 2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
1868 * decl.c (add_init_expr_to_sym): Set the length type parameter.
1870 2015-04-10 Tobias Burnus <burnus@net-b.de>
1872 * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
1873 version; reject not-yet-implemented variants.
1874 * trans-types.c (gfc_get_derived_type): For lock_type with
1875 -fcoarray=lib, use a void pointer as type.
1876 * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
1877 Handle lock_type with -fcoarray=lib.
1879 2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
1885 * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
1886 former to the latter and make it non-static. Update callers.
1887 * gfortran.h (gfc_save_symbol_data): New prototype.
1888 * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
1889 before modifying symbols 'sym' and 'dt_sym'.
1891 2013-04-09 Paul Thomas <pault@gcc.gnu.org>
1894 * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
1895 of the index variables are untyped and errors are present.
1897 2015-04-07 Andre Vehreschild <vehre@gmx.de>
1900 * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
1901 use conv_expr_descriptor() instead of conv_expr_reference().
1903 2015-03-30 Jakub Jelinek <jakub@redhat.com>
1906 * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
1907 linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
1908 For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1
1909 instead of the original step on the new iterator - count.
1911 2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
1915 * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
1916 * resolve.c (resolve_types): Return early if field 'types_resolved'
1917 is set. Set 'types_resolved' at the end.
1919 2015-03-24 Andre Vehreschild <vehre@gmx.de>
1922 * trans-expr.c (gfc_conv_structure): Fixed indendation.
1923 Using integer_zero_node now instead of explicitly
1924 constructing a integer constant zero node.
1925 (gfc_conv_derived_to_class): Add handling of _len component,
1926 i.e., when the rhs has a string_length then assign that to
1927 class' _len, else assign 0.
1928 (gfc_conv_intrinsic_to_class): Likewise.
1930 2015-03-24 Andre Vehreschild <vehre@gmx.de>
1935 * class.c (gfc_add_component_ref): Free no longer needed
1936 ref-chains to prevent memory loss.
1937 (find_intrinsic_vtab): For deferred length char arrays or
1938 unlimited polymorphic objects, store the size in bytes of one
1939 character in the size component of the vtab.
1940 * gfortran.h: Added gfc_add_len_component () define.
1941 * trans-array.c (gfc_trans_create_temp_array): Switched to new
1942 function name for getting a class' vtab's field.
1943 (build_class_array_ref): Likewise.
1944 (gfc_array_init_size): Using the size information from allocate
1945 more consequently now, i.e., the typespec of the entity to
1946 allocate is no longer needed. This is to address the last open
1947 comment in PR fortran/57456.
1948 (gfc_array_allocate): Likewise.
1949 (structure_alloc_comps): gfc_copy_class_to_class () needs to
1950 know whether the class is unlimited polymorphic.
1951 * trans-array.h: Changed interface of gfc_array_allocate () to
1952 reflect the no longer needed typespec.
1953 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
1954 (gfc_reset_len): New.
1955 (gfc_get_class_array_ref): Switch to new function name for
1956 getting a class' vtab's field.
1957 (gfc_copy_class_to_class): Added flag to know whether the class
1958 to copy is unlimited polymorphic. Adding _len dependent code
1959 then, which calls ->vptr->copy () with four arguments adding
1960 the length information ->vptr->copy(from, to, from_len, to_cap).
1961 (gfc_conv_procedure_call): Switch to new function name for
1962 getting a class' vtab's field.
1963 (alloc_scalar_allocatable_for_assignment): Use the string_length
1964 as computed by gfc_conv_expr and not the statically backend_decl
1965 which may be incorrect when ref-ing.
1966 (gfc_trans_assignment_1): Use the string_length variable and
1967 not the rse.string_length. The former has been computed more
1969 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
1970 function name for getting a class' vtab's field.
1971 (gfc_conv_intrinsic_storage_size): Likewise.
1972 (gfc_conv_intrinsic_transfer): Likewise.
1973 * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
1974 source=expr3 only once before the loop over the objects to
1975 allocate, when the objects are not arrays. Doing correct _len
1976 initialization and calling of vptr->copy () fixing PR 64787.
1977 (gfc_trans_deallocate): Reseting _len to 0, preventing future
1979 * trans.c (gfc_build_array_ref): Switch to new function name
1980 for getting a class' vtab's field.
1981 (gfc_add_comp_finalizer_call): Likewise.
1982 * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
1983 and gfc_vptr_*_get () functions.
1984 Added gfc_find_and_cut_at_last_class_ref () and
1985 gfc_reset_len () routine prototype. Added flag to
1986 gfc_copy_class_to_class () prototype to signal an unlimited
1987 polymorphic entity to copy.
1989 2015-03-24 Iain Sandoe <iain@codesourcery.com>
1990 Tobias Burnus <burnus@net-b.de>
1992 * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
1994 2015-03-23 Paul Thomas <pault@gcc.gnu.org>
1995 Mikael Morin <mikael@gcc.gnu.org>
1998 * gfortran.h (struct symbol_attribute) : New field
1999 'array_outer_dependency'.
2000 * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
2001 * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
2002 (attr_bits): Append same value to initializer.
2003 (mio_symbol_attribute): Handle 'array_outer_dependency' attr
2004 in module read and write.
2005 * resolve.c (update_current_proc_outer_array_dependency): New function.
2006 (resolve_function, resolve_call): Add code to update current procedure's
2007 'array_outer_dependency' attribute.
2008 (resolve_variable): Mark current procedure with attribute
2009 array_outer_dependency if the variable is an array coming from outside
2010 the current namespace.
2011 (resolve_fl_procedure): Mark a procedure without body with attribute
2012 'array_outer_dependency'.
2013 * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
2014 marked as 'array_outer_dependency' generate a temporary.
2015 (gfc_walk_function_expr): If the function may reference external arrays,
2016 mark the head gfc_ss with flag 'array_outer_dependency'.
2018 2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2020 PR libgfortran/59513
2021 * gfortran.texi (Read/Write after EOF marker): New information.
2023 2015-03-21 H.J. Lu <hongjiu.lu@intel.com>
2025 * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
2028 2015-03-21 Tobias Burnus <burnus@net-b.de>
2030 * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
2031 _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
2032 _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
2033 _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
2034 _gfortran_caf_atomic_op): New sections.
2036 2015-03-21 Tobias Burnus <burnus@net-b.de>
2038 * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
2039 coindexed coarray accesses.
2041 2015-03-17 Paul Thomas <pault@gcc.gnu.org>
2044 * trans-types.c (gfc_get_derived_type): If an abstract derived
2045 type with procedure pointer components has no other type of
2046 component, return the backend_decl. Otherwise build the
2047 components if any of the non-procedure pointer components have
2050 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2053 *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
2054 smallest kind passed in user arguments and hardcode tesults for
2055 KIND=1 or KIND=2 to indicate no clock available.
2057 2015-03-16 Andre Vehreschild <vehre@gmx.de>
2059 * resolve.c: Prevent segfault on illegal input.
2061 2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
2064 * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
2065 field before reusing LSE.
2067 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
2070 * gfortran.texi: Document behavior when opening files without
2071 explicit ACTION= specifier.
2073 2015-03-10 Paul Thomas <pault@gcc.gnu.org>
2076 * trans-expr.c (gfc_conv_component_ref): If the component
2077 backend declaration is missing and the derived type symbol is
2078 available in the reference, call gfc_build_derived_type.
2080 2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
2081 Tobias Burnus <burnus@net-b.de>
2083 * trans.h (caf_sync_memory): New function decl tree.
2084 * trans-decl.c (gfc_build_builtin_function_decls): Define it.
2085 (create_main_function): Don't call sync_synchronize and leave
2086 it to the CAF library.
2087 * trans-stmt.c (gfc_trans_stop): Ditto.
2088 (gfc_trans_sync): Ditto; add call library call for sync memory.
2090 2015-03-08 Mikael Morin <mikael@gcc.gnu.org>
2093 * resolve.c (resolve_symbol): Check that the symbol found by
2094 name lookup really is the current symbol being resolved.
2096 2015-03-02 Tobias Burnus <burnus@net-b.de>
2098 * check.c (gfc_check_atomic): Properly check for coarrayness
2099 and for being coindexed.
2101 2015-02-26 Martin Liska <mliska@suse.cz>
2103 * resolve.c: Rename enum 'comparison' to 'compare_result' as
2104 solution for -Wodr issue.
2106 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2109 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2111 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2112 * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2113 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2114 Remove function types.
2115 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
2116 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2117 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2120 2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
2124 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
2125 for component references to class objects.
2126 (gfc_conv_procedure_call): Compare the class by name.
2128 2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2131 * scanner.c (gfc_next_char_literal): For free form source,
2132 check for '!' and if found, clear the comment and go back
2133 and get the next character. For fixed form source, skip the
2136 2015-02-12 Paul Thomas <pault@gcc.gnu.org>
2139 * trans-stmt.c (gfc_trans_deallocate): If a component array
2140 expression is not a descriptor type and it is a derived type
2141 that has allocatable components and is not finalizable, then
2142 deallocate the allocatable components.
2144 2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
2147 * module.c (check_for_ambiguous): Change argument type
2148 from gfc_symbol to gfc_symtree. Check local (symtree) name
2149 instead of original (symbol) name.
2150 (read_module): Update caller.
2152 2015-02-06 Paul Thomas <pault@gcc.gnu.org>
2155 * gfortran.h: Add 'must finalize' field to gfc_expr and
2156 prototypes for gfc_is_alloc_class_scalar_function and for
2157 gfc_is_alloc_class_array_function.
2158 * expr.c (gfc_is_alloc_class_scalar_function,
2159 gfc_is_alloc_class_array_function): New functions.
2160 * trans-array.c (gfc_add_loop_ss_code): Do not move the
2161 expression for allocatable class scalar functions outside the
2163 (conv_array_index_offset): Cope with deltas being NULL_TREE.
2164 (build_class_array_ref): Do not return with allocatable class
2165 array functions. Add code to pick out the returned class array.
2166 Dereference if necessary and return if not a class object.
2167 (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
2168 (gfc_walk_function_expr): Return an array ss for the result of
2169 an allocatable class array function.
2170 * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
2171 that the argument should be a variable. If an allocatable class
2172 array function, set the offset to zero and skip the write-out
2174 (gfc_conv_procedure_call): Add allocatable class array function
2175 to the assert. Call gfc_conv_subref_array_arg for allocatable
2176 class array function arguments with derived type formal arg..
2177 Add the code for handling allocatable class functions, including
2178 finalization calls to prevent memory leaks.
2179 (arrayfunc_assign_needs_temporary): Return if an allocatable
2180 class array function.
2181 (gfc_trans_assignment_1): Set must_finalize to rhs expression
2182 for allocatable class functions. Set scalar_to_array as needed
2183 for scalar class allocatable functions assigned to an array.
2184 Nullify the allocatable components corresponding the the lhs
2185 derived type so that the finalization does not free them.
2187 2015-01-29 Andre Vehreschild <vehre@gmx.de>
2188 Janus Weil <janus@gcc.gnu.org>
2191 Initial patch by Janus Weil
2192 * resolve.c (resolve_allocate_expr): Add check for comp. only
2193 when target is not unlimited polymorphic.
2194 * trans-stmt.c (gfc_trans_allocate): Assign correct value to
2195 _len component of unlimited polymorphic entities.
2197 2015-02-05 Tobias Burnus <burnus@net-b.de>
2200 * resolve.c (resolve_transfer): Also check structure
2203 2015-02-05 Paul Thomas <pault@gcc.gnu.org>
2206 * resolve.c (resolve_structure_cons): Obtain the rank of class
2208 * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
2209 assignment to allocatable class array components.
2210 (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
2211 is a class component, allocate to the _data field.
2212 (gfc_trans_subcomponent_assign): If a class component with a
2213 derived type expression set the _vptr field and for array
2214 components, call gfc_trans_alloc_subarray_assign. For scalars,
2215 the assignment is performed here.
2217 2015-02-04 Jakub Jelinek <jakub@redhat.com>
2219 * options.c: Include langhooks.h.
2220 (gfc_post_options): Change lang_hooks.name based on
2221 selected -std= mode.
2223 2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
2225 * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
2227 2015-01-30 Andre Vehreschild <vehre@gmx.de>
2229 * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
2230 * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
2231 Fixed datatype of charlen to be a 32-bit int.
2233 2015-02-01 Joseph Myers <joseph@codesourcery.com>
2235 * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
2236 char *, ...)): Remove functions.
2237 * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
2238 (const char *, ...)): Remove declarations.
2239 * arith.c, check.c, data.c, decl.c, frontend-passes.c,
2240 interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
2241 options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
2242 trans-common.c, trans-const.c, trans-stmt.c: All callers of
2243 gfc_warning and gfc_warning_now changed to pass 0 or option number
2246 2015-01-30 Joseph Myers <joseph@codesourcery.com>
2248 * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
2249 callers of fatal_error changed to pass input_location as first
2252 2015-01-28 Tobias Burnus <burnus@net-b.de>
2254 * intrinsic.texi (CO_BROADCAST): Correct argument description.
2256 2015-01-27 Tobias Burnus <burnus@net-b.de>
2259 * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
2260 Fix handling for scalar coarrays.
2261 * trans-types.c (gfc_get_element_type): Add comment.
2263 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2266 * interface.c: Remove <algorithm>.
2267 (check_dummy_characteristics): Use MAX instead of std::max.
2269 2015-01-26 Paul Thomas <pault@gcc.gnu.org>
2272 * resolve.c (resolve_allocate_expr): If the default initializer
2273 is NULL, keep the original MOLD expression so that the correct
2274 typespec is available.
2276 2015-01-26 Tobias Burnus <burnus@net-b.de>
2279 * interface.c (check_dummy_characteristics): Fix coarray handling.
2281 2015-01-26 Tobias Burnus <burnus@net-b.de>
2283 * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
2285 2015-01-26 Janus Weil <janus@gcc.gnu.org>
2288 * class.c (finalize_component): New argument 'sub_ns'. Insert code to
2289 check if 'expr' is associated.
2290 (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
2291 'ptr2'. Pass 'sub_ns' to finalize_component.
2293 2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
2296 * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
2297 * module.c (MOD_VERSION): Bump.
2298 (write_module): Don't write list of extensions.
2299 (read_module): Don't jump over list of extensions;
2300 don't load list of extensions.
2301 (load_derived_extensions, write_dt_extensions,
2302 write_derived_extensions): Remove.
2304 2015-01-24 Tobias Burnus <burnus@net-b.de>
2306 * parse.c (gfc_parse_file): Fix two-location gfc_error call.
2308 2015-01-23 Martin Liska <mliska@suse.cz>
2310 * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
2311 false positive during profiledbootstrap by initializing them.
2312 * matchexp.c (match_mult_operand): Likewise.
2313 * module.c (write_atom): Likewise.
2314 (read_module): Likewise.
2316 2015-01-23 Tom de Vries <tom@codesourcery.com>
2319 * lang.opt (fopenacc): Mark as LTO option.
2321 2015-01-23 Tom de Vries <tom@codesourcery.com>
2324 * lang.opt (fopenmp): Mark as LTO option.
2326 2015-01-23 Andre Vehreschild <vehre@gmx.de>
2328 * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
2329 * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
2331 2015-01-23 Jakub Jelinek <jakub@redhat.com>
2333 * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
2335 2015-01-23 Janus Weil <janus@gcc.gnu.org>
2338 * class.c (finalize_component): Apply the check for 'fini_coarray' only
2339 to coarray components.
2341 2015-01-23 Tobias Burnus <burnus@net-b.de>
2344 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
2347 2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2351 * trans-io.c (set_parameter_value): Delete use of has_iostat.
2352 Redefine to not generate any runtime error check calls.
2353 (set_parameter_value_chk): Rename of the former
2354 set_parameter_value with the runtime error checks and fix
2355 whitespace. (set_parameter_value_inquire): New function that
2356 builds a runtime conditional block to set the INQUIRE
2357 common parameter block unit number to -2 when unit numbers
2358 exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
2359 For unit, use the renamed set_parameter_value_chk.
2360 (gfc_trans_close): Likewise use renamed function.
2361 (build_filepos): Whitespace and use renamed function.
2362 (gfc_trans_inquire): Whitespace and for unit use
2363 set_parameter_value and set_parameter_value_inquire.
2364 (gfc_trans_wait): Remove p->iostat from call to
2365 set_parameter_value. Use new set_parameter_value_chk for unit.
2366 (build_dt): Use the new set_parameter_value without p->iostat
2367 and fix whitespace. Use set_parameter_value_chk for unit.
2369 2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
2372 * dependency.c (callback_dummy_intent_not_int): New function.
2373 (dummy_intent_not_in): New function.
2374 (gfc_full_array_ref_p): Use dummy_intent_not_in.
2376 2015-01-18 Andre Vehreschild <vehre@gmx.de>
2377 Janus Weil <janus@gcc.gnu.org>
2380 * class.c (gfc_get_len_component): New.
2381 (gfc_build_class_symbol): Add _len component to unlimited
2382 polymorphic entities.
2383 (find_intrinsic_vtab): Removed emitting of error message.
2384 * gfortran.h: Added prototype for gfc_get_len_component.
2385 * simplify.c (gfc_simplify_len): Use _len component where
2387 * trans-expr.c (gfc_class_len_get): New.
2388 (gfc_conv_intrinsic_to_class): Add handling for deferred
2390 (gfc_conv_structure): Treat _len component correctly.
2391 (gfc_conv_expr): Prevent bind_c handling when not required.
2392 (gfc_trans_pointer_assignment): Propagate _len component.
2393 * trans-stmt.c (class_has_len_component): New.
2394 (trans_associate_var): _len component treatment for associate
2396 (gfc_trans_allocate): Same as for trans_associate_var()
2397 * trans.h: Added prototype for gfc_class_len_get.
2399 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
2402 * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
2403 for allocatable components, where the source is a variable.
2405 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
2408 * primary.c (gfc_match_varspec): Exclude dangling associate-
2409 names with dimension 0 from being counted as arrays.
2410 * resolve.c (resolve_assoc_var): Sub-strings are permissible
2411 for associate-names, so exclude characters from the test for
2413 * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
2414 the hidden string length variable of their associated target.
2415 Signal this by setting 'length' to a constant, if the decl for
2416 the string length is a variable.
2418 2015-01-17 Paul Thomas <pault@gcc.gnu.org>
2421 * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
2422 before reinitializing rse, to add the rse.pre to block before
2424 * trans-intrinsic.c (gfc_conv_associated): Deal with the class
2425 data being a descriptor.
2427 2015-01-17 Andre Vehreschild <vehre@gmx.de>
2430 * primary.c (build_actual_constructor): Prevent warning.
2431 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
2432 assignment): New function encapsulates treatment of allocatable
2434 (gfc_trans_subcomponent_assign): Needed to distinguish between
2435 regular assignment and initilization.
2436 (gfc_trans_structure_assign): Same.
2437 (gfc_conv_structure): Same.
2440 * gfortran.h: deferred_parameter is not needed, because
2441 it artificial does the trick completely.
2442 * primary.c (build_actual_constructor): Same.
2443 (gfc_convert_to_structure_constructor): Same.
2444 * resolve.c (resolve_fl_derived0): Same.
2445 * trans-expr.c (gfc_conv_component_ref): Prevent treating
2446 allocatable deferred length char arrays here.
2447 (gfc_trans_subcomponent_assign): Same as above.
2448 * trans-types.c (gfc_sym_type): This is done in
2449 gfc_get_derived_type already.
2451 2015-01-17 Andre Vehreschild <vehre@gmx.de>
2454 * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
2455 length when the symbol is declared to be a result.
2456 * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
2457 string length when functions are nested and the string length
2458 is a reference already.
2460 2015-01-16 Janus Weil <janus@gcc.gnu.org>
2463 * decl.c (match_pointer_init): Error out if resolution of init expr
2466 2015-01-15 Tobias Burnus <burnus@net-b.de>
2468 * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
2469 resolve_oacc_deviceptr_clause, resolve_omp_clauses,
2470 gfc_resolve_oacc_declare): Replace '%s' by %qs.
2472 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2473 Cesar Philippidis <cesar@codesourcery.com>
2474 James Norris <jnorris@codesourcery.com>
2475 Ilmir Usmanov <i.usmanov@samsung.com>
2476 Tobias Burnus <burnus@net-b.de>
2478 * lang.opt (fopenacc): New option.
2479 * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
2480 * dump-parse-tree.c (show_omp_node): Split part of it into...
2481 (show_omp_clauses): ... this new function.
2482 (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
2483 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2484 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2485 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2486 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2487 (show_namespace): Update for OpenACC.
2488 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
2489 (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
2490 (DEF_GOACC_BUILTIN_COMPILER): New macros.
2491 * types.def (BT_FN_VOID_INT_INT_VAR)
2492 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2493 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2495 * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
2496 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2497 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
2498 ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
2499 ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
2500 ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
2501 ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2503 (struct gfc_expr_list): New data type.
2504 (gfc_get_expr_list): New macro.
2505 (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
2506 OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
2507 OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
2508 (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
2509 (OMP_LIST_CACHE): New enumerators.
2510 (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
2511 vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
2512 wait_list, tile_list, async, gang, worker, vector, seq,
2513 independent, wait, par_auto, gang_static, and loc members.
2514 (struct gfc_namespace): Add oacc_declare_clauses member.
2515 (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
2516 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
2517 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2518 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2519 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2520 (gfc_free_expr_list, gfc_resolve_oacc_directive)
2521 (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
2522 (gfc_resolve_oacc_blocks): New prototypes.
2523 * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
2524 EXEC_OACC_PARALLEL_LOOP.
2525 * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
2526 (gfc_match_oacc_update, gfc_match_oacc_declare)
2527 (gfc_match_oacc_loop, gfc_match_oacc_host_data)
2528 (gfc_match_oacc_data, gfc_match_oacc_kernels)
2529 (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
2530 (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
2531 (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
2533 * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
2534 (gfc_free_omp_clauses): Update for members added to struct
2536 (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
2538 (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
2539 (struct fortran_omp_context): Add is_openmp member.
2540 (gfc_resolve_omp_parallel_blocks): Initialize it.
2541 (gfc_resolve_do_iterator): Update for OpenACC.
2542 (gfc_resolve_omp_directive): Call
2543 resolve_omp_directive_inside_oacc_region.
2544 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
2545 (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
2546 (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
2547 (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
2548 (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
2549 (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
2550 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
2551 (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
2552 (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
2553 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
2554 (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
2555 (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
2556 (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
2557 (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
2558 (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
2559 (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
2560 (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
2561 (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
2562 (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
2563 (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
2564 (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
2565 (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
2566 (gfc_match_omp_clauses): Handle those.
2567 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
2568 (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
2569 (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
2570 (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
2571 (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
2572 (OACC_WAIT_CLAUSES): New macros.
2573 (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
2574 (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
2575 (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
2576 (gfc_match_oacc_kernels, gfc_match_oacc_data)
2577 (gfc_match_oacc_host_data, gfc_match_oacc_loop)
2578 (gfc_match_oacc_declare, gfc_match_oacc_update)
2579 (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
2580 (gfc_match_oacc_wait, gfc_match_oacc_cache)
2581 (gfc_match_oacc_routine, oacc_is_loop)
2582 (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
2583 (check_symbol_not_pointer, check_array_not_assumed)
2584 (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
2585 (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
2586 (omp_code_to_statement, oacc_code_to_statement)
2587 (resolve_oacc_directive_inside_omp_region)
2588 (resolve_omp_directive_inside_oacc_region)
2589 (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
2590 (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
2591 (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
2592 (gfc_resolve_oacc_directive): New functions.
2593 * parse.c (next_free): Update for OpenACC. Move some code into...
2594 (verify_token_free): ... this new function.
2595 (next_fixed): Update for OpenACC. Move some code into...
2596 (verify_token_fixed): ... this new function.
2597 (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
2598 ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
2599 (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
2600 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
2601 ST_OACC_KERNELS_LOOP.
2602 (case_decl): Add ST_OACC_ROUTINE.
2603 (push_state, parse_critical_block, parse_progunit): Update for
2605 (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
2606 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2607 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
2608 ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
2609 ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
2610 ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
2611 ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2613 (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
2614 (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
2615 ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
2616 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
2617 (decode_oacc_directive, parse_oacc_structured_block)
2618 (parse_oacc_loop, is_oacc): New functions.
2619 * parse.h (struct gfc_state_data): Add oacc_declare_clauses
2621 (is_oacc): New prototype.
2622 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
2623 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
2624 EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
2625 EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
2626 EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
2627 EXEC_OACC_EXIT_DATA.
2628 (resolve_codes): Call gfc_resolve_oacc_declare.
2629 * scanner.c (openacc_flag, openacc_locus): New variables.
2630 (skip_free_comments): Update for OpenACC. Move some code into...
2631 (skip_omp_attribute): ... this new function.
2632 (skip_oacc_attribute): New function.
2633 (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
2634 * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
2635 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2636 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2637 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2638 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2639 * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
2640 * trans-openmp.c: Include "gomp-constants.h".
2641 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
2642 instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
2643 (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
2644 OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
2645 OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
2646 OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
2647 OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
2648 independent, wait_list, num_gangs_expr, num_workers_expr,
2649 vector_length_expr, vector, vector_expr, worker, worker_expr,
2650 gang, gang_expr members.
2651 (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
2652 (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
2653 (gfc_trans_oacc_executable_directive)
2654 (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
2655 (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
2656 * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
2657 * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
2659 * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
2660 EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
2661 EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
2662 EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
2663 EXEC_OACC_EXIT_DATA.
2664 * gfortran.texi: Update for OpenACC.
2665 * intrinsic.texi: Likewise.
2666 * invoke.texi: Likewise.
2668 2015-01-15 Janus Weil <janus@gcc.gnu.org>
2671 * resolve.c (resolve_fl_derived0): Continue resolving next component
2674 2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2677 * io.c (gfc_match_inquire): Generate error if unit number in
2678 inquire statement is a constant -1. All other values allowed.
2679 * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
2680 (create_dummy_iostat): Delete function no longer used.
2682 2015-01-13 Jakub Jelinek <jakub@redhat.com>
2685 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
2686 on dummy args with VALUE attribute.
2688 2015-01-11 Janus Weil <janus@gcc.gnu.org>
2691 * interface.c (gfc_extend_expr): Look for type-bound operators before
2694 2015-01-11 Janus Weil <janus@gcc.gnu.org>
2697 * resolve.c (resolve_fl_derived0): Set error flag if problems with the
2698 interface of a procedure-pointer component were detected.
2700 2015-01-11 Janus Weil <janus@gcc.gnu.org>
2703 * interface.c (compare_parameter): Interface check for
2704 procedure-pointer component as actual argument.
2706 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
2708 * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
2709 Runtime Library" to "GNU Offloading and Multi Processing Runtime
2711 * intrinsic.texi: Likewise.
2713 2015-01-10 Tobias Burnus <burnus@net-b.de>
2716 * invoke.texi (Wline-truncation): Document new behaviour.
2717 * lang.opt (Wline-truncation): Add Init(-1).
2718 * options.c (gfc_post_options): If -Wline-truncation is unset,
2719 enable it for free-form source files; for the latter, also use
2720 -Werror=line-truncation, unless -Wno-error has been specified.
2722 2015-01-09 Michael Collison <michael.collison@linaro.org>
2724 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2725 input.h, alias.h, symtab.h, options.h, fold-const.h,
2726 wide-int.h, and inchash.h due to flattening of tree.h.
2727 * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2728 input.h, alias.h, symtab.h, fold-const.h,
2729 wide-int.h, and inchash.h due to flattening of tree.h.
2731 * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2732 input.h, alias.h, symtab.h, options.h, fold-const.h,
2733 wide-int.h, and inchash.h due to flattening of tree.h.
2734 * iresolve.c: Ditto.
2735 * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2736 input.h, alias.h, symtab.h, fold-const.h,
2737 wide-int.h, and inchash.h due to flattening of tree.h.
2738 * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2739 input.h, alias.h, symtab.h, options.h, fold-const.h,
2740 wide-int.h, and inchash.h due to flattening of tree.h.
2742 * target-memory.c: Include hash-set.h, vec.h,
2743 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
2744 wide-int.h, and inchash.h due to flattening of tree.h.
2745 * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2746 input.h, alias.h, symtab.h, options.h, fold-const.h,
2747 wide-int.h, and inchash.h due to flattening of tree.h.
2748 * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2749 input.h, alias.h, symtab.h, options.h, fold-const.h,
2750 wide-int.h, and inchash.h due to flattening of tree.h.
2751 * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2752 input.h, alias.h, symtab.h, fold-const.h,
2753 wide-int.h, and inchash.h due to flattening of tree.h.
2754 * trans-const.c: Ditto.
2755 * trans-decl.c: Ditto.
2756 * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2757 input.h, alias.h, symtab.h, options.h, fold-const.h,
2758 wide-int.h, and inchash.h due to flattening of tree.h.
2759 * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2760 input.h, alias.h, symtab.h, fold-const.h,
2761 wide-int.h, inchash.h and real.h due to flattening of tree.h.
2762 * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2763 input.h, alias.h, symtab.h, options.h, fold-const.h,
2764 wide-int.h, and inchash.h due to flattening of tree.h.
2765 * trans-openmp.c: Ditto.
2766 * trans-stmt.c: Ditto.
2767 * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2768 input.h, alias.h, symtab.h, fold-const.h,
2769 wide-int.h, inchash.h and real.h due to flattening of tree.h.
2771 2015-01-08 Tobias Burnus <burnus@net-b.de>
2773 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
2774 for module coarrays with -fcoarray=lib.
2775 (get_proc_pointer_decl): As module variable, make only public
2776 when not marked as private.
2778 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
2781 * dependency.h: Actually commit changes.
2783 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
2786 * dependency.c: Update copyright years.
2787 (gfc_discard_nops): Add prototype.
2788 * dependency.c (discard_nops): Rename to gfc_discard_nops,
2790 (gfc_discard_nops): Use gfc_discard_nops.
2791 (gfc_dep_difference): Likewise.
2792 * frontend-passes.c Update copyright years.
2793 (realloc_strings): New function. Add prototype.
2794 (gfc_run_passes): Call realloc_strings.
2795 (realloc_string_callback): New function.
2796 (create_var): Add prototype. Handle case of a
2797 scalar character variable.
2798 (optimize_trim): Do not handle allocatable variables.
2800 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2802 Update copyright years.
2804 * gfortranspec.c (lang_specific_driver): Update copyright notice
2806 * gfc-internals.texi: Bump @copying's copyright year.
2807 * gfortran.texi: Ditto.
2808 * intrinsic.texi: Ditto.
2809 * invoke.texi: Ditto.
2811 2015-01-02 Janus Weil <janus@gcc.gnu.org>
2814 * expr.c (find_component_ref): Deal with extended types.
2816 2015-01-02 Tobias Burnus <burnus@net-b.de>
2818 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
2819 for module coarrays with -fcoarray=lib.
2821 2015-01-02 Janus Weil <janus@gcc.gnu.org>
2824 * interface.c (is_procptr_result): New function to check if an
2825 expression is a procedure-pointer result.
2826 (compare_actual_formal): Use it.
2828 Copyright (C) 2015 Free Software Foundation, Inc.
2830 Copying and distribution of this file, with or without modification,
2831 are permitted in any medium without royalty provided the copyright
2832 notice and this notice are preserved.