1 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
3 * Make-lang.in (fortran.mostlyclean): Remove gfortran and
6 2015-04-27 Andre Vehreschild <vehre@gmx.de>
10 * trans-array.c (duplicate_allocatable): Fixed deep copy of
11 allocatable components, which are liable for copy only, when
13 (gfc_duplicate_allocatable): Add deep-copy code into if
14 component allocated block. Needed interface change for that.
15 (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
16 add into if-block for checking whether a component was
18 (gfc_duplicate_allocatable_nocopy): Likewise.
19 (structure_alloc_comps): Likewise.
20 * trans-array.h: Likewise.
21 * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
22 * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
24 2015-04-23 Andre Vehreschild <vehre@gmx.de>
27 * expr.c (gfc_lval_expr_from_sym): Code to select the regular
29 * gfortran.h: Add IS_CLASS_ARRAY macro.
30 * trans-array.c (gfc_add_loop_ss_code): Treat class objects
31 to be referenced always.
32 (build_class_array_ref): Adapt retrieval of array descriptor.
33 (build_array_ref): Likewise.
34 (gfc_conv_array_ref): Hand the vptr or the descriptor to
35 build_array_ref depending whether the sym is class or not.
36 (gfc_trans_array_cobounds): Select correct gfc_array_spec for
37 regular and class arrays.
38 (gfc_trans_array_bounds): Likewise.
39 (gfc_trans_dummy_array_bias): Likewise.
40 (gfc_get_dataptr_offset): Correcting call of build_array_ref.
41 (gfc_conv_expr_descriptor): Set the array's offset to -1 when
42 lbound in inner most dim is 1 and symbol non-pointer/assoc.
43 * trans-decl.c (gfc_build_qualified_array): Select correct
44 gfc_array_spec for regular and class arrays.
45 (gfc_build_dummy_array_decl): Likewise.
46 (gfc_get_symbol_decl): Get a dummy array for class arrays.
47 (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
49 * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
50 from the correct location for class arrays.
51 (gfc_class_len_get): Likewise.
52 (gfc_conv_intrinsic_to_class): Add handling of _len component.
53 (gfc_conv_class_to_class): Prevent access to unset array data
54 when the array is an optional argument. Add handling of _len
56 (gfc_copy_class_to_class): Check that _def_init is non-NULL
57 when used in _vptr->copy()
58 (gfc_trans_class_init_assign): Ensure that the rank of
60 (gfc_conv_component_ref): Get the _vptr along with _data refs.
61 (gfc_conv_variable): Make sure the temp array descriptor is
62 returned for class arrays, too, and that class arrays are
63 dereferenced correctly.
64 (gfc_conv_procedure_call): For polymorphic type initialization
65 the initializer has to be a pointer to _def_init stored in a
66 dummy variable, which then needs to be used by value.
67 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
68 temporary array descriptor for class arrays, too.
69 (gfc_conv_intrinsic_storage_size): Likewise.
70 (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
72 * trans-stmt.c (trans_associate_var): Use a temporary array for
73 the associate variable of class arrays, too, making the array
74 one-based (lbound == 1).
75 * trans-types.c (gfc_is_nodesc_array): Use the correct
77 * trans.c (gfc_build_array_ref): Use the dummy array descriptor
79 * trans.h: Add class_vptr to gfc_se for storing a class ref's
82 2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
85 * decl.c (add_init_expr_to_sym): Set the length type parameter.
87 2015-04-10 Tobias Burnus <burnus@net-b.de>
89 * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
90 version; reject not-yet-implemented variants.
91 * trans-types.c (gfc_get_derived_type): For lock_type with
92 -fcoarray=lib, use a void pointer as type.
93 * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
94 Handle lock_type with -fcoarray=lib.
96 2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
102 * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
103 former to the latter and make it non-static. Update callers.
104 * gfortran.h (gfc_save_symbol_data): New prototype.
105 * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
106 before modifying symbols 'sym' and 'dt_sym'.
108 2013-04-09 Paul Thomas <pault@gcc.gnu.org>
111 * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
112 of the index variables are untyped and errors are present.
114 2015-04-07 Andre Vehreschild <vehre@gmx.de>
117 * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
118 use conv_expr_descriptor() instead of conv_expr_reference().
120 2015-03-30 Jakub Jelinek <jakub@redhat.com>
123 * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
124 linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
125 For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1
126 instead of the original step on the new iterator - count.
128 2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
132 * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
133 * resolve.c (resolve_types): Return early if field 'types_resolved'
134 is set. Set 'types_resolved' at the end.
136 2015-03-24 Andre Vehreschild <vehre@gmx.de>
139 * trans-expr.c (gfc_conv_structure): Fixed indendation.
140 Using integer_zero_node now instead of explicitly
141 constructing a integer constant zero node.
142 (gfc_conv_derived_to_class): Add handling of _len component,
143 i.e., when the rhs has a string_length then assign that to
144 class' _len, else assign 0.
145 (gfc_conv_intrinsic_to_class): Likewise.
147 2015-03-24 Andre Vehreschild <vehre@gmx.de>
152 * class.c (gfc_add_component_ref): Free no longer needed
153 ref-chains to prevent memory loss.
154 (find_intrinsic_vtab): For deferred length char arrays or
155 unlimited polymorphic objects, store the size in bytes of one
156 character in the size component of the vtab.
157 * gfortran.h: Added gfc_add_len_component () define.
158 * trans-array.c (gfc_trans_create_temp_array): Switched to new
159 function name for getting a class' vtab's field.
160 (build_class_array_ref): Likewise.
161 (gfc_array_init_size): Using the size information from allocate
162 more consequently now, i.e., the typespec of the entity to
163 allocate is no longer needed. This is to address the last open
164 comment in PR fortran/57456.
165 (gfc_array_allocate): Likewise.
166 (structure_alloc_comps): gfc_copy_class_to_class () needs to
167 know whether the class is unlimited polymorphic.
168 * trans-array.h: Changed interface of gfc_array_allocate () to
169 reflect the no longer needed typespec.
170 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
171 (gfc_reset_len): New.
172 (gfc_get_class_array_ref): Switch to new function name for
173 getting a class' vtab's field.
174 (gfc_copy_class_to_class): Added flag to know whether the class
175 to copy is unlimited polymorphic. Adding _len dependent code
176 then, which calls ->vptr->copy () with four arguments adding
177 the length information ->vptr->copy(from, to, from_len, to_cap).
178 (gfc_conv_procedure_call): Switch to new function name for
179 getting a class' vtab's field.
180 (alloc_scalar_allocatable_for_assignment): Use the string_length
181 as computed by gfc_conv_expr and not the statically backend_decl
182 which may be incorrect when ref-ing.
183 (gfc_trans_assignment_1): Use the string_length variable and
184 not the rse.string_length. The former has been computed more
186 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
187 function name for getting a class' vtab's field.
188 (gfc_conv_intrinsic_storage_size): Likewise.
189 (gfc_conv_intrinsic_transfer): Likewise.
190 * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
191 source=expr3 only once before the loop over the objects to
192 allocate, when the objects are not arrays. Doing correct _len
193 initialization and calling of vptr->copy () fixing PR 64787.
194 (gfc_trans_deallocate): Reseting _len to 0, preventing future
196 * trans.c (gfc_build_array_ref): Switch to new function name
197 for getting a class' vtab's field.
198 (gfc_add_comp_finalizer_call): Likewise.
199 * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
200 and gfc_vptr_*_get () functions.
201 Added gfc_find_and_cut_at_last_class_ref () and
202 gfc_reset_len () routine prototype. Added flag to
203 gfc_copy_class_to_class () prototype to signal an unlimited
204 polymorphic entity to copy.
206 2015-03-24 Iain Sandoe <iain@codesourcery.com>
207 Tobias Burnus <burnus@net-b.de>
209 * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
211 2015-03-23 Paul Thomas <pault@gcc.gnu.org>
212 Mikael Morin <mikael@gcc.gnu.org>
215 * gfortran.h (struct symbol_attribute) : New field
216 'array_outer_dependency'.
217 * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
218 * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
219 (attr_bits): Append same value to initializer.
220 (mio_symbol_attribute): Handle 'array_outer_dependency' attr
221 in module read and write.
222 * resolve.c (update_current_proc_outer_array_dependency): New function.
223 (resolve_function, resolve_call): Add code to update current procedure's
224 'array_outer_dependency' attribute.
225 (resolve_variable): Mark current procedure with attribute
226 array_outer_dependency if the variable is an array coming from outside
227 the current namespace.
228 (resolve_fl_procedure): Mark a procedure without body with attribute
229 'array_outer_dependency'.
230 * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
231 marked as 'array_outer_dependency' generate a temporary.
232 (gfc_walk_function_expr): If the function may reference external arrays,
233 mark the head gfc_ss with flag 'array_outer_dependency'.
235 2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
238 * gfortran.texi (Read/Write after EOF marker): New information.
240 2015-03-21 H.J. Lu <hongjiu.lu@intel.com>
242 * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
245 2015-03-21 Tobias Burnus <burnus@net-b.de>
247 * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
248 _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
249 _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
250 _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
251 _gfortran_caf_atomic_op): New sections.
253 2015-03-21 Tobias Burnus <burnus@net-b.de>
255 * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
256 coindexed coarray accesses.
258 2015-03-17 Paul Thomas <pault@gcc.gnu.org>
261 * trans-types.c (gfc_get_derived_type): If an abstract derived
262 type with procedure pointer components has no other type of
263 component, return the backend_decl. Otherwise build the
264 components if any of the non-procedure pointer components have
267 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
270 *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
271 smallest kind passed in user arguments and hardcode tesults for
272 KIND=1 or KIND=2 to indicate no clock available.
274 2015-03-16 Andre Vehreschild <vehre@gmx.de>
276 * resolve.c: Prevent segfault on illegal input.
278 2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
281 * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
282 field before reusing LSE.
284 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
287 * gfortran.texi: Document behavior when opening files without
288 explicit ACTION= specifier.
290 2015-03-10 Paul Thomas <pault@gcc.gnu.org>
293 * trans-expr.c (gfc_conv_component_ref): If the component
294 backend declaration is missing and the derived type symbol is
295 available in the reference, call gfc_build_derived_type.
297 2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
298 Tobias Burnus <burnus@net-b.de>
300 * trans.h (caf_sync_memory): New function decl tree.
301 * trans-decl.c (gfc_build_builtin_function_decls): Define it.
302 (create_main_function): Don't call sync_synchronize and leave
303 it to the CAF library.
304 * trans-stmt.c (gfc_trans_stop): Ditto.
305 (gfc_trans_sync): Ditto; add call library call for sync memory.
307 2015-03-08 Mikael Morin <mikael@gcc.gnu.org>
310 * resolve.c (resolve_symbol): Check that the symbol found by
311 name lookup really is the current symbol being resolved.
313 2015-03-02 Tobias Burnus <burnus@net-b.de>
315 * check.c (gfc_check_atomic): Properly check for coarrayness
316 and for being coindexed.
318 2015-02-26 Martin Liska <mliska@suse.cz>
320 * resolve.c: Rename enum 'comparison' to 'compare_result' as
321 solution for -Wodr issue.
323 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
326 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
328 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
329 * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
330 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
331 Remove function types.
332 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
333 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
334 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
337 2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
341 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
342 for component references to class objects.
343 (gfc_conv_procedure_call): Compare the class by name.
345 2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
348 * scanner.c (gfc_next_char_literal): For free form source,
349 check for '!' and if found, clear the comment and go back
350 and get the next character. For fixed form source, skip the
353 2015-02-12 Paul Thomas <pault@gcc.gnu.org>
356 * trans-stmt.c (gfc_trans_deallocate): If a component array
357 expression is not a descriptor type and it is a derived type
358 that has allocatable components and is not finalizable, then
359 deallocate the allocatable components.
361 2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
364 * module.c (check_for_ambiguous): Change argument type
365 from gfc_symbol to gfc_symtree. Check local (symtree) name
366 instead of original (symbol) name.
367 (read_module): Update caller.
369 2015-02-06 Paul Thomas <pault@gcc.gnu.org>
372 * gfortran.h: Add 'must finalize' field to gfc_expr and
373 prototypes for gfc_is_alloc_class_scalar_function and for
374 gfc_is_alloc_class_array_function.
375 * expr.c (gfc_is_alloc_class_scalar_function,
376 gfc_is_alloc_class_array_function): New functions.
377 * trans-array.c (gfc_add_loop_ss_code): Do not move the
378 expression for allocatable class scalar functions outside the
380 (conv_array_index_offset): Cope with deltas being NULL_TREE.
381 (build_class_array_ref): Do not return with allocatable class
382 array functions. Add code to pick out the returned class array.
383 Dereference if necessary and return if not a class object.
384 (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
385 (gfc_walk_function_expr): Return an array ss for the result of
386 an allocatable class array function.
387 * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
388 that the argument should be a variable. If an allocatable class
389 array function, set the offset to zero and skip the write-out
391 (gfc_conv_procedure_call): Add allocatable class array function
392 to the assert. Call gfc_conv_subref_array_arg for allocatable
393 class array function arguments with derived type formal arg..
394 Add the code for handling allocatable class functions, including
395 finalization calls to prevent memory leaks.
396 (arrayfunc_assign_needs_temporary): Return if an allocatable
397 class array function.
398 (gfc_trans_assignment_1): Set must_finalize to rhs expression
399 for allocatable class functions. Set scalar_to_array as needed
400 for scalar class allocatable functions assigned to an array.
401 Nullify the allocatable components corresponding the the lhs
402 derived type so that the finalization does not free them.
404 2015-01-29 Andre Vehreschild <vehre@gmx.de>
405 Janus Weil <janus@gcc.gnu.org>
408 Initial patch by Janus Weil
409 * resolve.c (resolve_allocate_expr): Add check for comp. only
410 when target is not unlimited polymorphic.
411 * trans-stmt.c (gfc_trans_allocate): Assign correct value to
412 _len component of unlimited polymorphic entities.
414 2015-02-05 Tobias Burnus <burnus@net-b.de>
417 * resolve.c (resolve_transfer): Also check structure
420 2015-02-05 Paul Thomas <pault@gcc.gnu.org>
423 * resolve.c (resolve_structure_cons): Obtain the rank of class
425 * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
426 assignment to allocatable class array components.
427 (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
428 is a class component, allocate to the _data field.
429 (gfc_trans_subcomponent_assign): If a class component with a
430 derived type expression set the _vptr field and for array
431 components, call gfc_trans_alloc_subarray_assign. For scalars,
432 the assignment is performed here.
434 2015-02-04 Jakub Jelinek <jakub@redhat.com>
436 * options.c: Include langhooks.h.
437 (gfc_post_options): Change lang_hooks.name based on
440 2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
442 * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
444 2015-01-30 Andre Vehreschild <vehre@gmx.de>
446 * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
447 * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
448 Fixed datatype of charlen to be a 32-bit int.
450 2015-02-01 Joseph Myers <joseph@codesourcery.com>
452 * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
453 char *, ...)): Remove functions.
454 * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
455 (const char *, ...)): Remove declarations.
456 * arith.c, check.c, data.c, decl.c, frontend-passes.c,
457 interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
458 options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
459 trans-common.c, trans-const.c, trans-stmt.c: All callers of
460 gfc_warning and gfc_warning_now changed to pass 0 or option number
463 2015-01-30 Joseph Myers <joseph@codesourcery.com>
465 * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
466 callers of fatal_error changed to pass input_location as first
469 2015-01-28 Tobias Burnus <burnus@net-b.de>
471 * intrinsic.texi (CO_BROADCAST): Correct argument description.
473 2015-01-27 Tobias Burnus <burnus@net-b.de>
476 * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
477 Fix handling for scalar coarrays.
478 * trans-types.c (gfc_get_element_type): Add comment.
480 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
483 * interface.c: Remove <algorithm>.
484 (check_dummy_characteristics): Use MAX instead of std::max.
486 2015-01-26 Paul Thomas <pault@gcc.gnu.org>
489 * resolve.c (resolve_allocate_expr): If the default initializer
490 is NULL, keep the original MOLD expression so that the correct
491 typespec is available.
493 2015-01-26 Tobias Burnus <burnus@net-b.de>
496 * interface.c (check_dummy_characteristics): Fix coarray handling.
498 2015-01-26 Tobias Burnus <burnus@net-b.de>
500 * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
502 2015-01-26 Janus Weil <janus@gcc.gnu.org>
505 * class.c (finalize_component): New argument 'sub_ns'. Insert code to
506 check if 'expr' is associated.
507 (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
508 'ptr2'. Pass 'sub_ns' to finalize_component.
510 2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
513 * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
514 * module.c (MOD_VERSION): Bump.
515 (write_module): Don't write list of extensions.
516 (read_module): Don't jump over list of extensions;
517 don't load list of extensions.
518 (load_derived_extensions, write_dt_extensions,
519 write_derived_extensions): Remove.
521 2015-01-24 Tobias Burnus <burnus@net-b.de>
523 * parse.c (gfc_parse_file): Fix two-location gfc_error call.
525 2015-01-23 Martin Liska <mliska@suse.cz>
527 * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
528 false positive during profiledbootstrap by initializing them.
529 * matchexp.c (match_mult_operand): Likewise.
530 * module.c (write_atom): Likewise.
531 (read_module): Likewise.
533 2015-01-23 Tom de Vries <tom@codesourcery.com>
536 * lang.opt (fopenacc): Mark as LTO option.
538 2015-01-23 Tom de Vries <tom@codesourcery.com>
541 * lang.opt (fopenmp): Mark as LTO option.
543 2015-01-23 Andre Vehreschild <vehre@gmx.de>
545 * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
546 * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
548 2015-01-23 Jakub Jelinek <jakub@redhat.com>
550 * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
552 2015-01-23 Janus Weil <janus@gcc.gnu.org>
555 * class.c (finalize_component): Apply the check for 'fini_coarray' only
556 to coarray components.
558 2015-01-23 Tobias Burnus <burnus@net-b.de>
561 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
564 2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
568 * trans-io.c (set_parameter_value): Delete use of has_iostat.
569 Redefine to not generate any runtime error check calls.
570 (set_parameter_value_chk): Rename of the former
571 set_parameter_value with the runtime error checks and fix
572 whitespace. (set_parameter_value_inquire): New function that
573 builds a runtime conditional block to set the INQUIRE
574 common parameter block unit number to -2 when unit numbers
575 exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
576 For unit, use the renamed set_parameter_value_chk.
577 (gfc_trans_close): Likewise use renamed function.
578 (build_filepos): Whitespace and use renamed function.
579 (gfc_trans_inquire): Whitespace and for unit use
580 set_parameter_value and set_parameter_value_inquire.
581 (gfc_trans_wait): Remove p->iostat from call to
582 set_parameter_value. Use new set_parameter_value_chk for unit.
583 (build_dt): Use the new set_parameter_value without p->iostat
584 and fix whitespace. Use set_parameter_value_chk for unit.
586 2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
589 * dependency.c (callback_dummy_intent_not_int): New function.
590 (dummy_intent_not_in): New function.
591 (gfc_full_array_ref_p): Use dummy_intent_not_in.
593 2015-01-18 Andre Vehreschild <vehre@gmx.de>
594 Janus Weil <janus@gcc.gnu.org>
597 * class.c (gfc_get_len_component): New.
598 (gfc_build_class_symbol): Add _len component to unlimited
599 polymorphic entities.
600 (find_intrinsic_vtab): Removed emitting of error message.
601 * gfortran.h: Added prototype for gfc_get_len_component.
602 * simplify.c (gfc_simplify_len): Use _len component where
604 * trans-expr.c (gfc_class_len_get): New.
605 (gfc_conv_intrinsic_to_class): Add handling for deferred
607 (gfc_conv_structure): Treat _len component correctly.
608 (gfc_conv_expr): Prevent bind_c handling when not required.
609 (gfc_trans_pointer_assignment): Propagate _len component.
610 * trans-stmt.c (class_has_len_component): New.
611 (trans_associate_var): _len component treatment for associate
613 (gfc_trans_allocate): Same as for trans_associate_var()
614 * trans.h: Added prototype for gfc_class_len_get.
616 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
619 * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
620 for allocatable components, where the source is a variable.
622 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
625 * primary.c (gfc_match_varspec): Exclude dangling associate-
626 names with dimension 0 from being counted as arrays.
627 * resolve.c (resolve_assoc_var): Sub-strings are permissible
628 for associate-names, so exclude characters from the test for
630 * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
631 the hidden string length variable of their associated target.
632 Signal this by setting 'length' to a constant, if the decl for
633 the string length is a variable.
635 2015-01-17 Paul Thomas <pault@gcc.gnu.org>
638 * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
639 before reinitializing rse, to add the rse.pre to block before
641 * trans-intrinsic.c (gfc_conv_associated): Deal with the class
642 data being a descriptor.
644 2015-01-17 Andre Vehreschild <vehre@gmx.de>
647 * primary.c (build_actual_constructor): Prevent warning.
648 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
649 assignment): New function encapsulates treatment of allocatable
651 (gfc_trans_subcomponent_assign): Needed to distinguish between
652 regular assignment and initilization.
653 (gfc_trans_structure_assign): Same.
654 (gfc_conv_structure): Same.
657 * gfortran.h: deferred_parameter is not needed, because
658 it artificial does the trick completely.
659 * primary.c (build_actual_constructor): Same.
660 (gfc_convert_to_structure_constructor): Same.
661 * resolve.c (resolve_fl_derived0): Same.
662 * trans-expr.c (gfc_conv_component_ref): Prevent treating
663 allocatable deferred length char arrays here.
664 (gfc_trans_subcomponent_assign): Same as above.
665 * trans-types.c (gfc_sym_type): This is done in
666 gfc_get_derived_type already.
668 2015-01-17 Andre Vehreschild <vehre@gmx.de>
671 * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
672 length when the symbol is declared to be a result.
673 * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
674 string length when functions are nested and the string length
675 is a reference already.
677 2015-01-16 Janus Weil <janus@gcc.gnu.org>
680 * decl.c (match_pointer_init): Error out if resolution of init expr
683 2015-01-15 Tobias Burnus <burnus@net-b.de>
685 * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
686 resolve_oacc_deviceptr_clause, resolve_omp_clauses,
687 gfc_resolve_oacc_declare): Replace '%s' by %qs.
689 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
690 Cesar Philippidis <cesar@codesourcery.com>
691 James Norris <jnorris@codesourcery.com>
692 Ilmir Usmanov <i.usmanov@samsung.com>
693 Tobias Burnus <burnus@net-b.de>
695 * lang.opt (fopenacc): New option.
696 * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
697 * dump-parse-tree.c (show_omp_node): Split part of it into...
698 (show_omp_clauses): ... this new function.
699 (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
700 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
701 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
702 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
703 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
704 (show_namespace): Update for OpenACC.
705 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
706 (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
707 (DEF_GOACC_BUILTIN_COMPILER): New macros.
708 * types.def (BT_FN_VOID_INT_INT_VAR)
709 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
710 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
712 * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
713 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
714 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
715 ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
716 ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
717 ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
718 ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
720 (struct gfc_expr_list): New data type.
721 (gfc_get_expr_list): New macro.
722 (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
723 OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
724 OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
725 (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
726 (OMP_LIST_CACHE): New enumerators.
727 (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
728 vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
729 wait_list, tile_list, async, gang, worker, vector, seq,
730 independent, wait, par_auto, gang_static, and loc members.
731 (struct gfc_namespace): Add oacc_declare_clauses member.
732 (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
733 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
734 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
735 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
736 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
737 (gfc_free_expr_list, gfc_resolve_oacc_directive)
738 (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
739 (gfc_resolve_oacc_blocks): New prototypes.
740 * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
741 EXEC_OACC_PARALLEL_LOOP.
742 * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
743 (gfc_match_oacc_update, gfc_match_oacc_declare)
744 (gfc_match_oacc_loop, gfc_match_oacc_host_data)
745 (gfc_match_oacc_data, gfc_match_oacc_kernels)
746 (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
747 (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
748 (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
750 * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
751 (gfc_free_omp_clauses): Update for members added to struct
753 (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
755 (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
756 (struct fortran_omp_context): Add is_openmp member.
757 (gfc_resolve_omp_parallel_blocks): Initialize it.
758 (gfc_resolve_do_iterator): Update for OpenACC.
759 (gfc_resolve_omp_directive): Call
760 resolve_omp_directive_inside_oacc_region.
761 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
762 (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
763 (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
764 (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
765 (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
766 (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
767 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
768 (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
769 (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
770 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
771 (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
772 (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
773 (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
774 (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
775 (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
776 (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
777 (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
778 (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
779 (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
780 (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
781 (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
782 (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
783 (gfc_match_omp_clauses): Handle those.
784 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
785 (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
786 (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
787 (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
788 (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
789 (OACC_WAIT_CLAUSES): New macros.
790 (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
791 (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
792 (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
793 (gfc_match_oacc_kernels, gfc_match_oacc_data)
794 (gfc_match_oacc_host_data, gfc_match_oacc_loop)
795 (gfc_match_oacc_declare, gfc_match_oacc_update)
796 (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
797 (gfc_match_oacc_wait, gfc_match_oacc_cache)
798 (gfc_match_oacc_routine, oacc_is_loop)
799 (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
800 (check_symbol_not_pointer, check_array_not_assumed)
801 (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
802 (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
803 (omp_code_to_statement, oacc_code_to_statement)
804 (resolve_oacc_directive_inside_omp_region)
805 (resolve_omp_directive_inside_oacc_region)
806 (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
807 (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
808 (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
809 (gfc_resolve_oacc_directive): New functions.
810 * parse.c (next_free): Update for OpenACC. Move some code into...
811 (verify_token_free): ... this new function.
812 (next_fixed): Update for OpenACC. Move some code into...
813 (verify_token_fixed): ... this new function.
814 (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
815 ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
816 (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
817 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
818 ST_OACC_KERNELS_LOOP.
819 (case_decl): Add ST_OACC_ROUTINE.
820 (push_state, parse_critical_block, parse_progunit): Update for
822 (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
823 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
824 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
825 ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
826 ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
827 ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
828 ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
830 (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
831 (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
832 ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
833 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
834 (decode_oacc_directive, parse_oacc_structured_block)
835 (parse_oacc_loop, is_oacc): New functions.
836 * parse.h (struct gfc_state_data): Add oacc_declare_clauses
838 (is_oacc): New prototype.
839 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
840 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
841 EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
842 EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
843 EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
845 (resolve_codes): Call gfc_resolve_oacc_declare.
846 * scanner.c (openacc_flag, openacc_locus): New variables.
847 (skip_free_comments): Update for OpenACC. Move some code into...
848 (skip_omp_attribute): ... this new function.
849 (skip_oacc_attribute): New function.
850 (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
851 * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
852 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
853 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
854 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
855 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
856 * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
857 * trans-openmp.c: Include "gomp-constants.h".
858 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
859 instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
860 (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
861 OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
862 OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
863 OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
864 OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
865 independent, wait_list, num_gangs_expr, num_workers_expr,
866 vector_length_expr, vector, vector_expr, worker, worker_expr,
867 gang, gang_expr members.
868 (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
869 (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
870 (gfc_trans_oacc_executable_directive)
871 (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
872 (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
873 * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
874 * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
876 * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
877 EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
878 EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
879 EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
881 * gfortran.texi: Update for OpenACC.
882 * intrinsic.texi: Likewise.
883 * invoke.texi: Likewise.
885 2015-01-15 Janus Weil <janus@gcc.gnu.org>
888 * resolve.c (resolve_fl_derived0): Continue resolving next component
891 2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
894 * io.c (gfc_match_inquire): Generate error if unit number in
895 inquire statement is a constant -1. All other values allowed.
896 * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
897 (create_dummy_iostat): Delete function no longer used.
899 2015-01-13 Jakub Jelinek <jakub@redhat.com>
902 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
903 on dummy args with VALUE attribute.
905 2015-01-11 Janus Weil <janus@gcc.gnu.org>
908 * interface.c (gfc_extend_expr): Look for type-bound operators before
911 2015-01-11 Janus Weil <janus@gcc.gnu.org>
914 * resolve.c (resolve_fl_derived0): Set error flag if problems with the
915 interface of a procedure-pointer component were detected.
917 2015-01-11 Janus Weil <janus@gcc.gnu.org>
920 * interface.c (compare_parameter): Interface check for
921 procedure-pointer component as actual argument.
923 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
925 * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
926 Runtime Library" to "GNU Offloading and Multi Processing Runtime
928 * intrinsic.texi: Likewise.
930 2015-01-10 Tobias Burnus <burnus@net-b.de>
933 * invoke.texi (Wline-truncation): Document new behaviour.
934 * lang.opt (Wline-truncation): Add Init(-1).
935 * options.c (gfc_post_options): If -Wline-truncation is unset,
936 enable it for free-form source files; for the latter, also use
937 -Werror=line-truncation, unless -Wno-error has been specified.
939 2015-01-09 Michael Collison <michael.collison@linaro.org>
941 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
942 input.h, alias.h, symtab.h, options.h, fold-const.h,
943 wide-int.h, and inchash.h due to flattening of tree.h.
944 * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
945 input.h, alias.h, symtab.h, fold-const.h,
946 wide-int.h, and inchash.h due to flattening of tree.h.
948 * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
949 input.h, alias.h, symtab.h, options.h, fold-const.h,
950 wide-int.h, and inchash.h due to flattening of tree.h.
952 * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
953 input.h, alias.h, symtab.h, fold-const.h,
954 wide-int.h, and inchash.h due to flattening of tree.h.
955 * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
956 input.h, alias.h, symtab.h, options.h, fold-const.h,
957 wide-int.h, and inchash.h due to flattening of tree.h.
959 * target-memory.c: Include hash-set.h, vec.h,
960 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
961 wide-int.h, and inchash.h due to flattening of tree.h.
962 * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
963 input.h, alias.h, symtab.h, options.h, fold-const.h,
964 wide-int.h, and inchash.h due to flattening of tree.h.
965 * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
966 input.h, alias.h, symtab.h, options.h, fold-const.h,
967 wide-int.h, and inchash.h due to flattening of tree.h.
968 * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
969 input.h, alias.h, symtab.h, fold-const.h,
970 wide-int.h, and inchash.h due to flattening of tree.h.
971 * trans-const.c: Ditto.
972 * trans-decl.c: Ditto.
973 * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
974 input.h, alias.h, symtab.h, options.h, fold-const.h,
975 wide-int.h, and inchash.h due to flattening of tree.h.
976 * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
977 input.h, alias.h, symtab.h, fold-const.h,
978 wide-int.h, inchash.h and real.h due to flattening of tree.h.
979 * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
980 input.h, alias.h, symtab.h, options.h, fold-const.h,
981 wide-int.h, and inchash.h due to flattening of tree.h.
982 * trans-openmp.c: Ditto.
983 * trans-stmt.c: Ditto.
984 * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
985 input.h, alias.h, symtab.h, fold-const.h,
986 wide-int.h, inchash.h and real.h due to flattening of tree.h.
988 2015-01-08 Tobias Burnus <burnus@net-b.de>
990 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
991 for module coarrays with -fcoarray=lib.
992 (get_proc_pointer_decl): As module variable, make only public
993 when not marked as private.
995 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
998 * dependency.h: Actually commit changes.
1000 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1003 * dependency.c: Update copyright years.
1004 (gfc_discard_nops): Add prototype.
1005 * dependency.c (discard_nops): Rename to gfc_discard_nops,
1007 (gfc_discard_nops): Use gfc_discard_nops.
1008 (gfc_dep_difference): Likewise.
1009 * frontend-passes.c Update copyright years.
1010 (realloc_strings): New function. Add prototype.
1011 (gfc_run_passes): Call realloc_strings.
1012 (realloc_string_callback): New function.
1013 (create_var): Add prototype. Handle case of a
1014 scalar character variable.
1015 (optimize_trim): Do not handle allocatable variables.
1017 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1019 Update copyright years.
1021 * gfortranspec.c (lang_specific_driver): Update copyright notice
1023 * gfc-internals.texi: Bump @copying's copyright year.
1024 * gfortran.texi: Ditto.
1025 * intrinsic.texi: Ditto.
1026 * invoke.texi: Ditto.
1028 2015-01-02 Janus Weil <janus@gcc.gnu.org>
1031 * expr.c (find_component_ref): Deal with extended types.
1033 2015-01-02 Tobias Burnus <burnus@net-b.de>
1035 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1036 for module coarrays with -fcoarray=lib.
1038 2015-01-02 Janus Weil <janus@gcc.gnu.org>
1041 * interface.c (is_procptr_result): New function to check if an
1042 expression is a procedure-pointer result.
1043 (compare_actual_formal): Use it.
1045 Copyright (C) 2015 Free Software Foundation, Inc.
1047 Copying and distribution of this file, with or without modification,
1048 are permitted in any medium without royalty provided the copyright
1049 notice and this notice are preserved.