summaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/ChangeLog')
-rw-r--r--gcc/fortran/ChangeLog1728
1 files changed, 343 insertions, 1385 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index c61d9f03be..92ef2037e6 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,1437 +1,406 @@
-2015-12-04 Release Manager
+2016-04-27 Release Manager
- * GCC 5.3.0 released.
+ * GCC 6.1.0 released.
-2015-11-27 Andre Vehreschild <vehre@gcc.gnu.org>
+2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
- PR fortran/68218
- * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
- array spec in allocate is a function call.
+ PR fortran/67039
+ * intrinsic.texi: Correct the documentation of pseudorandom
+ number intrinsics.
-2015-11-24 Paul Thomas <pault@gcc.gnu.org>
+2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
- Backport from trunk.
- PR fortran/68196
- * class.c (has_finalizer_component): Prevent infinite recursion
- through this function if the derived type and that of its
- component are the same.
- * trans-types.c (gfc_get_derived_type): Do the same for proc
- pointers by ignoring the explicit interface for the component.
+ PR fortran/58000
+ * gfortran.texi: Document OPEN( ... NAME=) as not implemented
+ in GNU Fortran
- PR fortran/66465
- * check.c (same_type_check): If either of the expressions is
- BT_PROCEDURE, use the typespec from the symbol, rather than the
- expression.
+2016-04-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-2015-11-18 Dominique d'Humieres <dominiq@lps.ens.fr>
+ PR fortran/68566
+ * array.c (match_array_element_spec): Add check for non-integer.
+ * simplify.c (gfc_simplify_reshape): If source shape is NULL return.
- PR fortran/65751
- * expr.c (gfc_check_pointer_assign): Fix error message.
+2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
-2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR c/70436
+ * openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
+ future -Wparentheses warning.
- PR fortran/58027
- PR fortran/60993
- * expr.c (gfc_check_init_expr): Prevent a redundant check when a
- __convert_* function was inserted into an array constructor.
- (gfc_check_assign_symbol): Check for an initialization expression
- when a __convert_* was inserted.
+2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
-2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR fortran/67538
+ * resolve.c (resolve_allocate_expr): Emit error message when no
+ array spec and no array valued source= expression is given in an
+ F2008 allocate() for an array to allocate.
- PR fortran/67803
- * array.c (gfc_match_array_constructor): If array constructor included
- a CHARACTER typespec, check array elements for compatible type.
+2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
-2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
+ PR fortran/65795
+ * trans-array.c (gfc_array_allocate): When the array is a coarray,
+ do not nullyfing its allocatable components in array_allocate, because
+ the nullify missed the array ref and nullifies the wrong component.
+ Cosmetics.
- PR fortran/68319
- * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
- * io.c (gfc_match_format): Ditto.
- * match.c (gfc_match_st_function): Ditto.
+2016-03-29 Andre Vehreschild <vehre@gcc.gnu.org>
-2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR fortran/70397
+ * trans-expr.c (gfc_class_len_or_zero_get): Add function to return a
+ constant zero tree, when the class to get the _len component from is
+ not unlimited polymorphic.
+ (gfc_copy_class_to_class): Use the new function.
+ * trans.h: Added interface of new function gfc_class_len_or_zero_get.
- PR fortran/68318
- * decl.c (get_proc_name): Increment reference count for ENTRY.
- While here, fix comment and use postfix ++ for consistency.
+2016-03-28 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org>
+ * trans-decl.c (gfc_build_builtin_function_decls):
+ caf_stop_numeric and caf_stop_str definition.
+ * trans-stmt.c (gfc_trans_stop): invoke external functions
+ for stop and stop_str when coarrays are used.
+ * trans.h: extern for new functions.
- PR fortran/68053
- * decl.c (add_init_expr_to_sym): Try to reduce initialization expression
- before testing for a constant value.
+2016-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-2015-11-08 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR fortran/69043
+ * scanner.c (load_file): Update to use S_ISREG macro.
- PR fortran/68224
- * array.c (match_array_element_spec): Check of invalid NULL().
- While here, fix nearby comments.
+2016-03-17 Thomas Schwinge <thomas@codesourcery.com>
-2015-11-08 Steven G. Kargl <kargl@gcc.gnu.org>
+ * gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
+ to OMP_MAP_DELETE. Adjust all users.
- PR fortran/68153
- * check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
+2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+ Jim MacArthur <jim.macarthur@codethink.co.uk>
-2015-11-08 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR fortran/69043
+ * scanner.c (load_file): Check that included file is regular.
- PR fortran/68151
- * match.c (match_case_selector): Check for invalid type.
+2016-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+ Harold Anlauf <anlauf@gmx.de>
-2015-01-25 Paul Thomas <pault@gcc.gnu.org>
+ PR fortran/69520
+ * invoke.texi: Explain use of the 'no-' construct within the
+ -fcheck= option.
+ * options.c (gfc_handle_runtime_check_option): Enable use of
+ 'no-' prefix for the various options with -fcheck= to allow
+ negating previously enabled check options.
- Backported from trunk.
- PR fortran/67171
- * trans-array.c (structure_alloc_comps): On deallocation of
- class components, reset the vptr to the declared type vtable
- and reset the _len field of unlimited polymorphic components.
- *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
- allocatable component references to the right of part reference
- with non-zero rank and return NULL.
- (gfc_reset_vptr): Simplify this function by using the function
- gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
- (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
- NULL return.
+2016-03-12 Paul Thomas <pault@gcc.gnu.org>
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+ PR fortran/70031
+ * decl.c (gfc_match_prefix): Treat the 'module' prefix in the
+ same way as the others, rather than fixing it to come last.
+ (gfc_match_function_decl, gfc_match_subroutine): After errors
+ in 'copy_prefix', emit them immediately in the case of module
+ procedures to prevent a later ICE.
- PR fortran/51993
- * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
- if-statement causing an early return leads to valid error message.
+ PR fortran/69524
+ * decl.c (gfc_match_submod_proc): Permit 'module procedure'
+ declarations within the contains section of modules as well as
+ submodules.
+ * resolve.c (resolve_fl_procedure): Likewise.
+ *trans-decl.c (build_function_decl): Change the gcc_assert to
+ allow all forms of module procedure declarations within module
+ contains sections.
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
- PR fortran/68154
- * decl.c (add_init_expr_to_sym): if the char length in the typespec
- is NULL, check for and use a constructor.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/36192
- * interface.c (get_expr_storage_size): Check for INTEGER type before
- calling gmp routines.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68055
- * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
- declarations.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68054
- * decl.c (match_attr_spec): PROTECTED can only be a module.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67939
- * data.c (create_character_initializer): Deal with zero length string.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67885
- * trans-decl.c (generate_local_decl): Mark PARAMETER entities in
- BLOCK construct.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67805
- PR fortran/68108
- * array.c (gfc_match_array_constructor): Check for error from type
- spec matching.
- * decl.c (char_len_param_value): Check for valid of charlen parameter.
- Check for REF_ARRAY. Reap dead code dating to 2008.
- match.c (gfc_match_type_spec): Special case the keyword use in REAL.
-
-2015-10-26 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67177
- PR fortran/67977
- Backport from mainline r228940:
- * primary.c (match_substring): Add an argument 'deferred' to
- flag that a substring reference with null start and end should
- not be optimized away for deferred length strings.
- (match_string_constant, gfc_match_rvalue): Set the argument.
- * trans-expr.c (alloc_scalar_allocatable_for_assignment): If
- there is a substring reference return.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
- characters, assign the 'from' string length to the 'to' string
- length. If the 'from' expression is deferred, set its string
- length to zero. If the 'to' expression has allocatable
- components, deallocate them.
-
-2015-10-22 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/58754
- * trans-stmt.c (gfc_trans_allocate): Do not use the scalar
- character assignment if the allocate expression is an array
- descriptor.
-
-2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67900
- * resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
-
-2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68019
- * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
- message to be issued.
-
-2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67987
- * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0,
- force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
- * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
- If 'start' is larger than 'end', length of substring is negative,
- so explicitly set it to zero.
- (resolve_charlen): Remove -Wsurprising warning. Update comment to
- reflect that the text is from the F2008 standard.
-
-2015-10-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66079
- Backport from mainline r224383:
-
- * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
- function results must be freed and nullified after use. Create
- a temporary to hold the result to prevent duplicate calls.
- * trans-stmt.c (gfc_trans_allocate): Rename temporary variable
- as 'source'. Deallocate allocatable components of non-variable
- 'source's.
-
-2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67721
- PR fortran/67818
- Backport from mainline r222477:
-
- 2015-04-27 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/59678
- PR fortran/65841
- * trans-array.c (duplicate_allocatable): Fixed deep copy of
- allocatable components, which are liable for copy only, when
- they are allocated.
- (gfc_duplicate_allocatable): Add deep-copy code into if
- component allocated block. Needed interface change for that.
- (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
- add into if-block for checking whether a component was
- allocated.
- (gfc_duplicate_allocatable_nocopy): Likewise.
- (structure_alloc_comps): Likewise.
- * trans-array.h: Likewise.
- * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
- * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
-
-2015-10-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67802
- * decl.c (add_init_expr_to_sym): Numeric constant for character
- length must be an INTEGER.
-
-2015-10-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67616
- * primary.c (gfc_match_structure_constructor): Use a possibly
- host-associated symtree to prevent ICE.
-
-2015-10-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66979
- * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
- missing 'return false'.
-
-2015-10-01 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67721
- * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
- condition guarding deep copy.
-
-2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67614
- * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
-
-2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67525
- * parse.c (match_deferred_characteristics): Remove an assert, which
- allows an invalid SELECT TYPE selector to be detected.
-
-2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67615
- * resolve.c (gfc_resolve_code): Check for scalar expression in
- arithmetic-if.
-
-2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67526
- * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
-
-2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/67429
- * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
- caret lines might be skipped when actually giving a diagnostic.
-
-2015-08-07 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66929
- * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
- symbol if available.
-
-2015-08-05 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64921
- * class.c (generate_finalization_wrapper): Set finalization
- procedure symbol's always_explicit attribute.
-
-2015-08-03 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66942
- * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
-
-2015-07-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64986
- * trans-expr.c (gfc_trans_assignment_1): Put component deallocation
- code at the beginning of the block.
-
-2015-07-21 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/66035
- * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
- Compute the size to allocate for class and derived type objects
- correclty.
- (gfc_trans_subcomponent_assign): Only allocate memory for a
- component when the object to assign is not an allocatable class
- object (the memory is already present for allocatable class objects).
- Furthermore use copy_class_to_class for assigning the rhs to the
- component (may happen for dummy class objects on the rhs).
-
-2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * trans-intrinsic.c (conv_co_collective): Remove redundant address
- operator in the generated code.
-
-2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66724
- PR fortran/66724
- * io.c (is_char_type): Call gfc_resolve_expr ().
- (match_open_element, match_dt_element, match_inquire_element): Fix
- ASYNCHRONOUS case.
-
-2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66864
- * simplify.c (gfc_simplify_floor): Set precision of temporary to
- that of arg.
-
-2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66545
- * primary.c (match_sym_complex_part): Do not dereference NULL pointer.
-
-2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/56520
- * match.c (gfc_match_name): Special case unary minus and plus.
-
-2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * io.c (check_char_variable): New function.
- (match_open_element, match_close_element, match_file_element,
- match_dt_element, match_inquire_element, match_wait_element): Use it.
-
-2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66725
- * io.c (is_char_type): New function to test for BT_CHARACTER
- (gfc_match_open, gfc_match_close, match_dt_element): Use it.
-
-2015-07-16 Release Manager
-
- * GCC 5.2.0 released.
-
-2015-06-24 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66549
- * resolve.c (resolve_global_procedure): Don't save and restore
- OpenMP state around the call to gfc_resolve.
- (gfc_resolve): Save OpenMP state on entry and restore it on return.
-
-2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66385
- Backport from trunk
- * frontend-passes.c (combine_array_constructor): Return early if
- inside a FORALL loop.
-
-2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * intrinsic.texi: Change \leq to < in descrition of imaginary
- part in argument to log.
-
-2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * f95-lang.c (gfc_create_decls): Register the main translation unit
- through the new debug hook.
+ PR fortran/68147
+ PR fortran/47674
+ * frontend-passes.c (realloc_string_callback): Don't set
+ walk_subtrees.
-2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
- PR fortran/66245
- * match.c (gfc_match_type_is, gfc_match_class_is): Check if the
- return type spec or derived type spec is validate.
+ * dump-parse-tree.c (show_code_node): Print association
+ list of a block if present. Handle EXEC_END_BLOCK.
-2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-28 Harald Anlauf <anlauf@gmx.de>
+ Jerry DeLisle <jvdelisle@gcc.gnu.org>
- PR fortran/66347
- * resolve.c (apply_default_init_local): Do not dereference a NULL
- pointer.
+ PR fortran/56007
+ * match.c (gfc_match_iterator): Add diagnostic for array variable
+ as do loop index.
-2015-06-05 Russell Whitesides <russelldub@gmail.com>
+2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
- PR fortran/40958
- PR fortran/60780
- PR fortran/66377
- * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
- from different modules. Eliminate the pruning of unused
- equivalence-objects
-
-
-2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66380
- * simplify.c (gfc_simplify_reshape): Convert assert into returning
- NULL, which triggers an error condition.
-
-2015-05-29 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66257
- * resolve.c (resolve_actual_arglist): Don't throw an error
- if the argument with procedure pointer component is not a variable.
-
-2015-05-22 Jakub Jelinek <jakub@redhat.com>
-
- Backported from mainline
- 2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66199
- * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
- combined constructs.
- (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
- BIND_EXPR_BLOCK.
-
-2015-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/65903
- * io.c (format_lex): Change to NONSTRING when checking for
- possible doubled quote.
- * scanner.c (gfc_next_char_literal): Revert change from 64506
- and add a check for quotes and return.
-
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66106
- * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
- * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
-
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66057
- * decl.c(gfc_match_generic): Detected a malformed GENERIC statement.
-
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66052
- * decl.c(gfc_match_protected): Prevent dereference of NULL pointer.
+ PR fortran/69910
+ * io.c (gfc_match_open): Check that open status is an expression
+ constant before comparing string to 'scratch' with NEWUNIT.
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-27 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- PR fortran/66045
- * expr.c (gfc_check_assign): Check for assignment of NULL() instead
- of the (intended) pointer assignment.
+ * trans.c (gfc_allocate_allocatable): size conversion
+ from byte to number of elements for event variables.
+ * trans-types.c (gfc_get_derived_type): event variables
+ represented as a pointer (like lock variable).
+
+2016-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/61156
+ * scanner.c (add_path_to_list): If include path is not a directory,
+ issue a fatal error.
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-23 Andre Vehreschild <vehre@gcc.gnu.org>
- PR fortran/66044
- * decl.c(gfc_match_entry): Change a gfc_internal_error() into
- a gfc_error()
+ PR fortran/67451
+ * trans-array.c (gfc_array_allocate): Take the attributes from the
+ expression to allocate and not from the source=-expression.
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-20 Paul Thomas <pault@gcc.gnu.org>
- PR fortran/66043
- * check.c (gfc_check_storage_size): Prevent the direct use of NULL()
- in STORAGE_SIZE() reference.
+ PR fortran/69423
+ * trans-decl.c (create_function_arglist): Deferred character
+ length functions, with and without declared results, address
+ the passed reference type as '.result' and the local string
+ length as '..result'.
+ (gfc_null_and_pass_deferred_len): Helper function to null and
+ return deferred string lengths, as needed.
+ (gfc_trans_deferred_vars): Call it, thereby reducing repeated
+ code, add call for deferred arrays and reroute pointer function
+ results. Avoid using 'tmp' for anything other that a temporary
+ tree by introducing 'type_of_array' for the arrayspec type.
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
+2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
- PR fortran/66040
- * parse.c(verify_st_order): Replace a gfc_internal_error with your
- generic gfc_error.
+ PR fortran/69742
+ * frontend-passes.c (cfe-expr_0): Don't register functions
+ from within an ASSOCIATE statement.
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
- PR fortran/66039
- * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
- BACKSPACE, and ENDFILE statements
+ PR fortran/60526
+ * decl.c (build_sym): If the name has already been defined as a
+ type, it has a symtree with an upper case letter at the beginning.
+ If such a symtree exists, issue an error and exit. Don't do
+ this if there is no corresponding upper case letter.
-2015-05-19 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
- PR fortran/64925
- * symbol.c(check_conflict): Check for a conflict between a dummy
- argument and an internal procedure name.
+ PR fortran/60526
+ PR bootstrap/69816
+ * decl.c (build_sym): Reverted previous patch.
-2015-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
- PR fortran/65976
- * invoke.texi: Remove 'no-' in '-fno-fixed-form'
+ PR fortran/60526
+ * decl.c (build_sym): If the name has already been defined as a
+ type, issue error and return false.
-2015-04-22 Release Manager
+2016-02-12 David Malcolm <dmalcolm@redhat.com>
- * GCC 5.1.0 released.
+ PR other/69554
+ * error.c (gfc_diagnostic_start_span): New function.
+ (gfc_diagnostics_init): Initialize global_dc's start_span.
-2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
+2016-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
- PR fortran/65429
- * decl.c (add_init_expr_to_sym): Set the length type parameter.
+ PR fortran/69296
+ * gfortran.h: Added flag to gfc_association_list indicating that
+ the rank of an associate variable has been guessed only.
+ * parse.c (parse_associate): Set the guess flag mentioned above
+ when guessing the rank of an expression.
+ * resolve.c (resolve_assoc_var): When the rank has been guessed,
+ make sure, that the guess was correct else overwrite with the actual
+ rank.
+ * trans-stmt.c (trans_associate_var): For subref_array_pointers in
+ class objects, take the span from the _data component.
-2015-04-10 Tobias Burnus <burnus@net-b.de>
+2016-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
- version; reject not-yet-implemented variants.
- * trans-types.c (gfc_get_derived_type): For lock_type with
- -fcoarray=lib, use a void pointer as type.
- * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
- Handle lock_type with -fcoarray=lib.
-
-2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/56674
- PR fortran/58813
- PR fortran/59016
- PR fortran/59024
- * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
- former to the latter and make it non-static. Update callers.
- * gfortran.h (gfc_save_symbol_data): New prototype.
- * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
- before modifying symbols 'sym' and 'dt_sym'.
-
-2013-04-09 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/56852
- * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
- of the index variables are untyped and errors are present.
-
-2015-04-07 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/65548
- * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
- use conv_expr_descriptor() instead of conv_expr_reference().
-
-2015-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/65597
- * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
- linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
- For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1
- instead of the original step on the new iterator - count.
-
-2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64952
- PR fortran/65532
- * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
- * resolve.c (resolve_types): Return early if field 'types_resolved'
- is set. Set 'types_resolved' at the end.
-
-2015-03-24 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/55901
- * trans-expr.c (gfc_conv_structure): Fixed indendation.
- Using integer_zero_node now instead of explicitly
- constructing a integer constant zero node.
- (gfc_conv_derived_to_class): Add handling of _len component,
- i.e., when the rhs has a string_length then assign that to
- class' _len, else assign 0.
- (gfc_conv_intrinsic_to_class): Likewise.
-
-2015-03-24 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/64787
- PR fortran/57456
- PR fortran/63230
- * class.c (gfc_add_component_ref): Free no longer needed
- ref-chains to prevent memory loss.
- (find_intrinsic_vtab): For deferred length char arrays or
- unlimited polymorphic objects, store the size in bytes of one
- character in the size component of the vtab.
- * gfortran.h: Added gfc_add_len_component () define.
- * trans-array.c (gfc_trans_create_temp_array): Switched to new
- function name for getting a class' vtab's field.
- (build_class_array_ref): Likewise.
- (gfc_array_init_size): Using the size information from allocate
- more consequently now, i.e., the typespec of the entity to
- allocate is no longer needed. This is to address the last open
- comment in PR fortran/57456.
- (gfc_array_allocate): Likewise.
- (structure_alloc_comps): gfc_copy_class_to_class () needs to
- know whether the class is unlimited polymorphic.
- * trans-array.h: Changed interface of gfc_array_allocate () to
- reflect the no longer needed typespec.
- * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
- (gfc_reset_len): New.
- (gfc_get_class_array_ref): Switch to new function name for
- getting a class' vtab's field.
- (gfc_copy_class_to_class): Added flag to know whether the class
- to copy is unlimited polymorphic. Adding _len dependent code
- then, which calls ->vptr->copy () with four arguments adding
- the length information ->vptr->copy(from, to, from_len, to_cap).
- (gfc_conv_procedure_call): Switch to new function name for
- getting a class' vtab's field.
- (alloc_scalar_allocatable_for_assignment): Use the string_length
- as computed by gfc_conv_expr and not the statically backend_decl
- which may be incorrect when ref-ing.
- (gfc_trans_assignment_1): Use the string_length variable and
- not the rse.string_length. The former has been computed more
- generally.
- * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
- function name for getting a class' vtab's field.
- (gfc_conv_intrinsic_storage_size): Likewise.
- (gfc_conv_intrinsic_transfer): Likewise.
- * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
- source=expr3 only once before the loop over the objects to
- allocate, when the objects are not arrays. Doing correct _len
- initialization and calling of vptr->copy () fixing PR 64787.
- (gfc_trans_deallocate): Reseting _len to 0, preventing future
- errors.
- * trans.c (gfc_build_array_ref): Switch to new function name
- for getting a class' vtab's field.
- (gfc_add_comp_finalizer_call): Likewise.
- * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
- and gfc_vptr_*_get () functions.
- Added gfc_find_and_cut_at_last_class_ref () and
- gfc_reset_len () routine prototype. Added flag to
- gfc_copy_class_to_class () prototype to signal an unlimited
- polymorphic entity to copy.
-
-2015-03-24 Iain Sandoe <iain@codesourcery.com>
- Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
-
-2015-03-23 Paul Thomas <pault@gcc.gnu.org>
- Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64952
- * gfortran.h (struct symbol_attribute) : New field
- 'array_outer_dependency'.
- * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
- * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
- (attr_bits): Append same value to initializer.
- (mio_symbol_attribute): Handle 'array_outer_dependency' attr
- in module read and write.
- * resolve.c (update_current_proc_outer_array_dependency): New function.
- (resolve_function, resolve_call): Add code to update current procedure's
- 'array_outer_dependency' attribute.
- (resolve_variable): Mark current procedure with attribute
- array_outer_dependency if the variable is an array coming from outside
- the current namespace.
- (resolve_fl_procedure): Mark a procedure without body with attribute
- 'array_outer_dependency'.
- * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
- marked as 'array_outer_dependency' generate a temporary.
- (gfc_walk_function_expr): If the function may reference external arrays,
- mark the head gfc_ss with flag 'array_outer_dependency'.
-
-2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/59513
- * gfortran.texi (Read/Write after EOF marker): New information.
-
-2015-03-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
- line.
-
-2015-03-21 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
- _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
- _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
- _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
- _gfortran_caf_atomic_op): New sections.
-
-2015-03-21 Tobias Burnus <burnus@net-b.de>
-
- * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
- coindexed coarray accesses.
-
-2015-03-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/59198
- * trans-types.c (gfc_get_derived_type): If an abstract derived
- type with procedure pointer components has no other type of
- component, return the backend_decl. Otherwise build the
- components if any of the non-procedure pointer components have
- no backend_decl.
-
-2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/64432
- *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
- smallest kind passed in user arguments and hardcode tesults for
- KIND=1 or KIND=2 to indicate no clock available.
-
-2015-03-16 Andre Vehreschild <vehre@gmx.de>
-
- * resolve.c: Prevent segfault on illegal input.
-
-2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/61138
- * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
- field before reusing LSE.
-
-2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/65200
- * gfortran.texi: Document behavior when opening files without
- explicit ACTION= specifier.
-
-2015-03-10 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/65024
- * trans-expr.c (gfc_conv_component_ref): If the component
- backend declaration is missing and the derived type symbol is
- available in the reference, call gfc_build_derived_type.
-
-2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- * trans.h (caf_sync_memory): New function decl tree.
- * trans-decl.c (gfc_build_builtin_function_decls): Define it.
- (create_main_function): Don't call sync_synchronize and leave
- it to the CAF library.
- * trans-stmt.c (gfc_trans_stop): Ditto.
- (gfc_trans_sync): Ditto; add call library call for sync memory.
-
-2015-03-08 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/60898
- * resolve.c (resolve_symbol): Check that the symbol found by
- name lookup really is the current symbol being resolved.
-
-2015-03-02 Tobias Burnus <burnus@net-b.de>
-
- * check.c (gfc_check_atomic): Properly check for coarrayness
- and for being coindexed.
-
-2015-02-26 Martin Liska <mliska@suse.cz>
-
- * resolve.c: Rename enum 'comparison' to 'compare_result' as
- solution for -Wodr issue.
-
-2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/64625
- * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
- Remove macros.
- (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
- * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- Remove function types.
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
-
-2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR fortran/64980
- PR fortran/61960
- * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
- for component references to class objects.
- (gfc_conv_procedure_call): Compare the class by name.
-
-2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/64506
- * scanner.c (gfc_next_char_literal): For free form source,
- check for '!' and if found, clear the comment and go back
- and get the next character. For fixed form source, skip the
- rest of the line.
-
-2015-02-12 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64932
- * trans-stmt.c (gfc_trans_deallocate): If a component array
- expression is not a descriptor type and it is a derived type
- that has allocatable components and is not finalizable, then
- deallocate the allocatable components.
-
-2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/63744
- * module.c (check_for_ambiguous): Change argument type
- from gfc_symbol to gfc_symtree. Check local (symtree) name
- instead of original (symbol) name.
- (read_module): Update caller.
-
-2015-02-06 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/63205
- * gfortran.h: Add 'must finalize' field to gfc_expr and
- prototypes for gfc_is_alloc_class_scalar_function and for
- gfc_is_alloc_class_array_function.
- * expr.c (gfc_is_alloc_class_scalar_function,
- gfc_is_alloc_class_array_function): New functions.
- * trans-array.c (gfc_add_loop_ss_code): Do not move the
- expression for allocatable class scalar functions outside the
- loop.
- (conv_array_index_offset): Cope with deltas being NULL_TREE.
- (build_class_array_ref): Do not return with allocatable class
- array functions. Add code to pick out the returned class array.
- Dereference if necessary and return if not a class object.
- (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
- (gfc_walk_function_expr): Return an array ss for the result of
- an allocatable class array function.
- * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
- that the argument should be a variable. If an allocatable class
- array function, set the offset to zero and skip the write-out
- loop in this case.
- (gfc_conv_procedure_call): Add allocatable class array function
- to the assert. Call gfc_conv_subref_array_arg for allocatable
- class array function arguments with derived type formal arg..
- Add the code for handling allocatable class functions, including
- finalization calls to prevent memory leaks.
- (arrayfunc_assign_needs_temporary): Return if an allocatable
- class array function.
- (gfc_trans_assignment_1): Set must_finalize to rhs expression
- for allocatable class functions. Set scalar_to_array as needed
- for scalar class allocatable functions assigned to an array.
- Nullify the allocatable components corresponding the the lhs
- derived type so that the finalization does not free them.
-
-2015-01-29 Andre Vehreschild <vehre@gmx.de>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/60289
- Initial patch by Janus Weil
- * resolve.c (resolve_allocate_expr): Add check for comp. only
- when target is not unlimited polymorphic.
- * trans-stmt.c (gfc_trans_allocate): Assign correct value to
- _len component of unlimited polymorphic entities.
-
-2015-02-05 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64943
- * resolve.c (resolve_transfer): Also check structure
- constructors.
-
-2015-02-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64757
- * resolve.c (resolve_structure_cons): Obtain the rank of class
- components.
- * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
- assignment to allocatable class array components.
- (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
- is a class component, allocate to the _data field.
- (gfc_trans_subcomponent_assign): If a class component with a
- derived type expression set the _vptr field and for array
- components, call gfc_trans_alloc_subarray_assign. For scalars,
- the assignment is performed here.
-
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
-
- * options.c: Include langhooks.h.
- (gfc_post_options): Change lang_hooks.name based on
- selected -std= mode.
-
-2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
-
-2015-01-30 Andre Vehreschild <vehre@gmx.de>
-
- * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
- * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
- Fixed datatype of charlen to be a 32-bit int.
+ PR fortran/50555
+ * primary.c (match_actual_arg): If symbol has attribute flavor of
+ namelist, generate an error. (gfc_match_rvalue): Likewise return
+ MATCH_ERROR.
+ * resolve.c (resolve_symbol): Scan arument list of procedures and
+ generate an error if a namelist is found.
-2015-02-01 Joseph Myers <joseph@codesourcery.com>
+2016-02-05 Mikael Morin <mikael@gcc.gnu.org>
- * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
- char *, ...)): Remove functions.
- * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
- (const char *, ...)): Remove declarations.
- * arith.c, check.c, data.c, decl.c, frontend-passes.c,
- interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
- options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
- trans-common.c, trans-const.c, trans-stmt.c: All callers of
- gfc_warning and gfc_warning_now changed to pass 0 or option number
- as first argument.
+ PR fortran/66089
+ * trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
+ the former to the latter and make it non-static. Update callers.
+ * gfortran.h (gfc_expr_is_variable): New declaration.
+ (struct gfc_ss_info): Add field needs_temporary.
+ * trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
+ Tighten the condition on aggregate expressions with a check
+ that the expression is a variable and doesn't need a temporary.
+ (gfc_conv_resolve_dependency): Add intermediary reference variable.
+ Set the needs_temporary field.
-2015-01-30 Joseph Myers <joseph@codesourcery.com>
+2016-02-03 Andre Vehreschild <vehre@gcc.gnu.org>
- * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
- callers of fatal_error changed to pass input_location as first
- argument.
+ PR fortran/67451
+ PR fortran/69418
+ * trans-expr.c (gfc_copy_class_to_class): For coarrays just the
+ pointer is passed. Take it as is without trying to deref the
+ _data component.
+ * trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
+ argument to source=-expression.
-2015-01-28 Tobias Burnus <burnus@net-b.de>
+2016-02-02 Nathan Sidwell <nathan@codesourcery.com>
- * intrinsic.texi (CO_BROADCAST): Correct argument description.
+ * lang.opt (fopenacc-dim=): New option.
-2015-01-27 Tobias Burnus <burnus@net-b.de>
+2016-01-31 Paul Thomas <pault@gcc.gnu.org>
- PR fortran/63861
- * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
- Fix handling for scalar coarrays.
- * trans-types.c (gfc_get_element_type): Add comment.
+ PR fortran/67564
+ * trans-expr.c (gfc_conv_procedure_call): For the vtable copy
+ subroutines, add a string length argument, when the actual
+ argument is an unlimited polymorphic class object.
-2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR fortran/64771
- * interface.c: Remove <algorithm>.
- (check_dummy_characteristics): Use MAX instead of std::max.
-
-2015-01-26 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/62044
- * resolve.c (resolve_allocate_expr): If the default initializer
- is NULL, keep the original MOLD expression so that the correct
- typespec is available.
-
-2015-01-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64771
- * interface.c (check_dummy_characteristics): Fix coarray handling.
-
-2015-01-26 Tobias Burnus <burnus@net-b.de>
-
- * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
-
-2015-01-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/64230
- * class.c (finalize_component): New argument 'sub_ns'. Insert code to
- check if 'expr' is associated.
- (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
- 'ptr2'. Pass 'sub_ns' to finalize_component.
-
-2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/62044
- * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
- * module.c (MOD_VERSION): Bump.
- (write_module): Don't write list of extensions.
- (read_module): Don't jump over list of extensions;
- don't load list of extensions.
- (load_derived_extensions, write_dt_extensions,
- write_derived_extensions): Remove.
-
-2015-01-24 Tobias Burnus <burnus@net-b.de>
-
- * parse.c (gfc_parse_file): Fix two-location gfc_error call.
-
-2015-01-23 Martin Liska <mliska@suse.cz>
-
- * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
- false positive during profiledbootstrap by initializing them.
- * matchexp.c (match_mult_operand): Likewise.
- * module.c (write_atom): Likewise.
- (read_module): Likewise.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64672
- * lang.opt (fopenacc): Mark as LTO option.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64707
- * lang.opt (fopenmp): Mark as LTO option.
-
-2015-01-23 Andre Vehreschild <vehre@gmx.de>
-
- * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
- * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
-
-2015-01-23 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/60922
- * class.c (finalize_component): Apply the check for 'fini_coarray' only
- to coarray components.
-
-2015-01-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64726
- * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
- loop generation.
-
-2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/61933
- * libgfortran.h:
- * trans-io.c (set_parameter_value): Delete use of has_iostat.
- Redefine to not generate any runtime error check calls.
- (set_parameter_value_chk): Rename of the former
- set_parameter_value with the runtime error checks and fix
- whitespace. (set_parameter_value_inquire): New function that
- builds a runtime conditional block to set the INQUIRE
- common parameter block unit number to -2 when unit numbers
- exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
- For unit, use the renamed set_parameter_value_chk.
- (gfc_trans_close): Likewise use renamed function.
- (build_filepos): Whitespace and use renamed function.
- (gfc_trans_inquire): Whitespace and for unit use
- set_parameter_value and set_parameter_value_inquire.
- (gfc_trans_wait): Remove p->iostat from call to
- set_parameter_value. Use new set_parameter_value_chk for unit.
- (build_dt): Use the new set_parameter_value without p->iostat
- and fix whitespace. Use set_parameter_value_chk for unit.
-
-2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
-
- PR fortran/57023
- * dependency.c (callback_dummy_intent_not_int): New function.
- (dummy_intent_not_in): New function.
- (gfc_full_array_ref_p): Use dummy_intent_not_in.
-
-2015-01-18 Andre Vehreschild <vehre@gmx.de>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/60255
- * class.c (gfc_get_len_component): New.
- (gfc_build_class_symbol): Add _len component to unlimited
- polymorphic entities.
- (find_intrinsic_vtab): Removed emitting of error message.
- * gfortran.h: Added prototype for gfc_get_len_component.
- * simplify.c (gfc_simplify_len): Use _len component where
- available.
- * trans-expr.c (gfc_class_len_get): New.
- (gfc_conv_intrinsic_to_class): Add handling for deferred
- character arrays.
- (gfc_conv_structure): Treat _len component correctly.
- (gfc_conv_expr): Prevent bind_c handling when not required.
- (gfc_trans_pointer_assignment): Propagate _len component.
- * trans-stmt.c (class_has_len_component): New.
- (trans_associate_var): _len component treatment for associate
- context.
- (gfc_trans_allocate): Same as for trans_associate_var()
- * trans.h: Added prototype for gfc_class_len_get.
-
-2015-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/57959
- * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
- for allocatable components, where the source is a variable.
-
-2015-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/55901
- * primary.c (gfc_match_varspec): Exclude dangling associate-
- names with dimension 0 from being counted as arrays.
- * resolve.c (resolve_assoc_var): Sub-strings are permissible
- for associate-names, so exclude characters from the test for
- misuse as arrays.
- * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
- the hidden string length variable of their associated target.
- Signal this by setting 'length' to a constant, if the decl for
- the string length is a variable.
-
-2015-01-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64578
- * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
- before reinitializing rse, to add the rse.pre to block before
- creating 'ptrtemp'.
- * trans-intrinsic.c (gfc_conv_associated): Deal with the class
- data being a descriptor.
-
-2015-01-17 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60357
- * primary.c (build_actual_constructor): Prevent warning.
- * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
- assignment): New function encapsulates treatment of allocatable
- components.
- (gfc_trans_subcomponent_assign): Needed to distinguish between
- regular assignment and initilization.
- (gfc_trans_structure_assign): Same.
- (gfc_conv_structure): Same.
-
- PR fortran/61275
- * gfortran.h: deferred_parameter is not needed, because
- it artificial does the trick completely.
- * primary.c (build_actual_constructor): Same.
- (gfc_convert_to_structure_constructor): Same.
- * resolve.c (resolve_fl_derived0): Same.
- * trans-expr.c (gfc_conv_component_ref): Prevent treating
- allocatable deferred length char arrays here.
- (gfc_trans_subcomponent_assign): Same as above.
- * trans-types.c (gfc_sym_type): This is done in
- gfc_get_derived_type already.
-
-2015-01-17 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60334
- * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
- length when the symbol is declared to be a result.
- * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
- string length when functions are nested and the string length
- is a reference already.
-
-2015-01-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/45290
- * decl.c (match_pointer_init): Error out if resolution of init expr
- failed.
-
-2015-01-15 Tobias Burnus <burnus@net-b.de>
-
- * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
- resolve_oacc_deviceptr_clause, resolve_omp_clauses,
- gfc_resolve_oacc_declare): Replace '%s' by %qs.
-
-2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Ilmir Usmanov <i.usmanov@samsung.com>
- Tobias Burnus <burnus@net-b.de>
-
- * lang.opt (fopenacc): New option.
- * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
- * dump-parse-tree.c (show_omp_node): Split part of it into...
- (show_omp_clauses): ... this new function.
- (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
- EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
- EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
- EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
- EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
- (show_namespace): Update for OpenACC.
- * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
- (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
- (DEF_GOACC_BUILTIN_COMPILER): New macros.
- * types.def (BT_FN_VOID_INT_INT_VAR)
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
- * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
- ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
- ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
- ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
- ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
- ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
- ST_OACC_ROUTINE.
- (struct gfc_expr_list): New data type.
- (gfc_get_expr_list): New macro.
- (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
- OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
- OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
- (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
- (OMP_LIST_CACHE): New enumerators.
- (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
- vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
- wait_list, tile_list, async, gang, worker, vector, seq,
- independent, wait, par_auto, gang_static, and loc members.
- (struct gfc_namespace): Add oacc_declare_clauses member.
- (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
- EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
- EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
- EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
- EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
- (gfc_free_expr_list, gfc_resolve_oacc_directive)
- (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
- (gfc_resolve_oacc_blocks): New prototypes.
- * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
- EXEC_OACC_PARALLEL_LOOP.
- * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
- (gfc_match_oacc_update, gfc_match_oacc_declare)
- (gfc_match_oacc_loop, gfc_match_oacc_host_data)
- (gfc_match_oacc_data, gfc_match_oacc_kernels)
- (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
- (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
- (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
- prototypes.
- * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
- (gfc_free_omp_clauses): Update for members added to struct
- gfc_omp_clauses.
- (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
- openacc parameter.
- (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
- (struct fortran_omp_context): Add is_openmp member.
- (gfc_resolve_omp_parallel_blocks): Initialize it.
- (gfc_resolve_do_iterator): Update for OpenACC.
- (gfc_resolve_omp_directive): Call
- resolve_omp_directive_inside_oacc_region.
- (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
- (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
- (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
- (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
- (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
- (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
- (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
- (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
- (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
- (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
- (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
- (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
- (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
- (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
- (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
- (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
- (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
- (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
- (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
- (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
- (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
- (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
- (gfc_match_omp_clauses): Handle those.
- (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
- (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
- (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
- (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
- (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
- (OACC_WAIT_CLAUSES): New macros.
- (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
- (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
- (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
- (gfc_match_oacc_kernels, gfc_match_oacc_data)
- (gfc_match_oacc_host_data, gfc_match_oacc_loop)
- (gfc_match_oacc_declare, gfc_match_oacc_update)
- (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
- (gfc_match_oacc_wait, gfc_match_oacc_cache)
- (gfc_match_oacc_routine, oacc_is_loop)
- (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
- (check_symbol_not_pointer, check_array_not_assumed)
- (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
- (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
- (omp_code_to_statement, oacc_code_to_statement)
- (resolve_oacc_directive_inside_omp_region)
- (resolve_omp_directive_inside_oacc_region)
- (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
- (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
- (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
- (gfc_resolve_oacc_directive): New functions.
- * parse.c (next_free): Update for OpenACC. Move some code into...
- (verify_token_free): ... this new function.
- (next_fixed): Update for OpenACC. Move some code into...
- (verify_token_fixed): ... this new function.
- (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
- ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
- (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
- ST_OACC_KERNELS_LOOP.
- (case_decl): Add ST_OACC_ROUTINE.
- (push_state, parse_critical_block, parse_progunit): Update for
- OpenACC.
- (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
- ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
- ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
- ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
- ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
- ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
- ST_OACC_ROUTINE.
- (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
- (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
- ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
- (decode_oacc_directive, parse_oacc_structured_block)
- (parse_oacc_loop, is_oacc): New functions.
- * parse.h (struct gfc_state_data): Add oacc_declare_clauses
- member.
- (is_oacc): New prototype.
- * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
- EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
- EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
- EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
- EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
- EXEC_OACC_EXIT_DATA.
- (resolve_codes): Call gfc_resolve_oacc_declare.
- * scanner.c (openacc_flag, openacc_locus): New variables.
- (skip_free_comments): Update for OpenACC. Move some code into...
- (skip_omp_attribute): ... this new function.
- (skip_oacc_attribute): New function.
- (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
- * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
- EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
- EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
- EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
- EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
- * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
- * trans-openmp.c: Include "gomp-constants.h".
- (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
- instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
- (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
- OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
- OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
- OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
- OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
- independent, wait_list, num_gangs_expr, num_workers_expr,
- vector_length_expr, vector, vector_expr, worker, worker_expr,
- gang, gang_expr members.
- (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
- (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
- (gfc_trans_oacc_executable_directive)
- (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
- (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
- * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
- * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
- New prototypes.
- * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
- EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
- EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
- EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
- EXEC_OACC_EXIT_DATA.
- * gfortran.texi: Update for OpenACC.
- * intrinsic.texi: Likewise.
- * invoke.texi: Likewise.
-
-2015-01-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/58023
- * resolve.c (resolve_fl_derived0): Continue resolving next component
- after error.
-
-2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/61933
- * io.c (gfc_match_inquire): Generate error if unit number in
- inquire statement is a constant -1. All other values allowed.
- * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
- (create_dummy_iostat): Delete function no longer used.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/64528
- * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
- on dummy args with VALUE attribute.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/63733
- * interface.c (gfc_extend_expr): Look for type-bound operators before
- non-typebound ones.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/58023
- * resolve.c (resolve_fl_derived0): Set error flag if problems with the
- interface of a procedure-pointer component were detected.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/64508
- * interface.c (compare_parameter): Interface check for
- procedure-pointer component as actual argument.
-
-2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
-
- * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
- Runtime Library" to "GNU Offloading and Multi Processing Runtime
- Library".
- * intrinsic.texi: Likewise.
-
-2015-01-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64522
- * invoke.texi (Wline-truncation): Document new behaviour.
- * lang.opt (Wline-truncation): Add Init(-1).
- * options.c (gfc_post_options): If -Wline-truncation is unset,
- enable it for free-form source files; for the latter, also use
- -Werror=line-truncation, unless -Wno-error has been specified.
-
-2015-01-09 Michael Collison <michael.collison@linaro.org>
-
- * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * decl.c: Ditto.
- * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * iresolve.c: Ditto.
- * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * options.c: Ditto.
- * target-memory.c: Include hash-set.h, vec.h,
- double-int.h, input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-const.c: Ditto.
- * trans-decl.c: Ditto.
- * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, inchash.h and real.h due to flattening of tree.h.
- * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-openmp.c: Ditto.
- * trans-stmt.c: Ditto.
- * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, inchash.h and real.h due to flattening of tree.h.
-
-2015-01-08 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
- for module coarrays with -fcoarray=lib.
- (get_proc_pointer_decl): As module variable, make only public
- when not marked as private.
-
-2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47674
- * dependency.h: Actually commit changes.
-
-2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47674
- * dependency.c: Update copyright years.
- (gfc_discard_nops): Add prototype.
- * dependency.c (discard_nops): Rename to gfc_discard_nops,
- make non-static.
- (gfc_discard_nops): Use gfc_discard_nops.
- (gfc_dep_difference): Likewise.
- * frontend-passes.c Update copyright years.
- (realloc_strings): New function. Add prototype.
- (gfc_run_passes): Call realloc_strings.
- (realloc_string_callback): New function.
- (create_var): Add prototype. Handle case of a
- scalar character variable.
- (optimize_trim): Do not handle allocatable variables.
-
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/69566
+ * trans-expr.c (gfc_conv_procedure_call): Correct expression
+ for 'ulim_copy', which was missing a test for 'comp'.
+
+2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/62536
+ * decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
+ when the END encountered does not match a BLOCK's end.
+
+2016-01-27 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/69484
+ * invoke.texi: Fix documentation of -Wall with respect to -Wtabs.
+
+2016-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/69422
+ * trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
+ for allocatable components, whilst checking if the symbol is a
+ derived or class entity..
+
+2016-01-26 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/69385
+ * trans-expr.c (gfc_trans_assignment_1): Exclude initialization
+ assignments from check on assignment of scalars to unassigned
+ arrays and correct wrong code within the corresponding block.
+
+2016-01-26 David Malcolm <dmalcolm@redhat.com>
+
+ PR other/69006
+ * error.c (gfc_diagnostic_starter): Delete use of pp_newline.
+
+2016-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/69397
+ PR fortran/68442
+ * interface.c (gfc_arglist_matches_symbol): Replace assert with
+ a return false if not a procedure.
+ * resolve.c (resolve_generic_f): Test if we are resolving an
+ initialization expression and adjust error message accordingly.
+
+2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66094
+ * frontend-passes.c (matmul_lhs_realloc): Add
+ forgotten break statement.
+
+2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/68283
+ * primary.c (gfc_variable_attr): revert revision r221955,
+ call gfc_internal_error only if there is no error.
+
+2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66094
+ * frontend-passes.c (enum matrix_case): Add case A2B2T for
+ MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
+ (inline_limit_check): Also add A2B2T.
+ (matmul_lhs_realloc): Handle A2B2T.
+ (check_conjg_variable): Rename to
+ (check_conjg_transpose_variable): and also count TRANSPOSE.
+ (inline_matmul_assign): Handle A2B2T.
+
+2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/65996
+ * error.c (gfc_error): Save the state of abort_on_error and set
+ it to false for buffered errors to allow normal processing.
+ Restore the state before leaving.
+
+2016-01-19 Martin Jambor <mjambor@suse.cz>
+
+ * types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
+
+2016-01-15 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64324
+ * resolve.c (check_uop_procedure): Prevent deferred length
+ characters from being trapped by assumed length error.
+
+ PR fortran/49630
+ PR fortran/54070
+ PR fortran/60593
+ PR fortran/60795
+ PR fortran/61147
+ PR fortran/64324
+ * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
+ function as well as variable expressions.
+ (gfc_array_init_size): Add 'expr' as an argument. Use this to
+ correctly set the descriptor dtype for deferred characters.
+ (gfc_array_allocate): Add 'expr' to the call to
+ 'gfc_array_init_size'.
+ * trans.c (gfc_build_array_ref): Expand logic for setting span
+ to include indirect references to character lengths.
+ * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
+ result char lengths that are PARM_DECLs are indirectly
+ referenced both for directly passed and by reference.
+ (create_function_arglist): If the length type is a pointer type
+ then store the length as the 'passed_length' and make the char
+ length an indirect reference to it.
+ (gfc_trans_deferred_vars): If a character length has escaped
+ being set as an indirect reference, return it via the 'passed
+ length'.
+ * trans-expr.c (gfc_conv_procedure_call): The length of
+ deferred character length results is set TREE_STATIC and set to
+ zero.
+ (gfc_trans_assignment_1): Do not fix the rse string_length if
+ it is a variable, a parameter or an indirect reference. Add the
+ code to trap assignment of scalars to unallocated arrays.
+ * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
+ all references to it. Instead, replicate the code to obtain a
+ explicitly defined string length and provide a value before
+ array allocation so that the dtype is correctly set.
+ trans-types.c (gfc_get_character_type): If the character length
+ is a pointer, use the indirect reference.
+
+2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/69154
+ * frontend-passes.c (in_where): New variable.
+ (inline_matmul_assign): Don't try this if we are within
+ a WHERE statement.
+ (gfc_code_walker): Keep track of in_where.
+
+2016-01-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67779
+ * trans_array.c (gfc_conv_scalarized_array_ref): Add missing
+ se->use_offset from condition for calculation of 'base'.
+
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/69128
+ * trans.h (OMPWS_SCALARIZER_BODY): Define.
+ (OMPWS_NOWAIT): Renumber.
+ * trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
+ if OMPWS_SCALARIZER_BODY is not set already, and set also
+ OMPWS_SCALARIZER_BODY until the final loop creation.
+ * trans-expr.c (gfc_trans_assignment_1): Likewise.
+ * trans-openmp.c (gfc_trans_omp_workshare): Also clear
+ OMPWS_SCALARIZER_BODY.
+ * trans-array.c (gfc_trans_scalarized_loop_end): Don't create
+ OMP_FOR if OMPWS_SCALARIZER_BODY is set.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
@@ -1442,24 +411,13 @@
* intrinsic.texi: Ditto.
* invoke.texi: Ditto.
-2015-01-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/57562
- * expr.c (find_component_ref): Deal with extended types.
-
-2015-01-02 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
- for module coarrays with -fcoarray=lib.
-
-2015-01-02 Janus Weil <janus@gcc.gnu.org>
+2016-01-01 Paul Thomas <pault@gcc.gnu.org>
- PR fortran/60507
- * interface.c (is_procptr_result): New function to check if an
- expression is a procedure-pointer result.
- (compare_actual_formal): Use it.
-^L
-Copyright (C) 2015 Free Software Foundation, Inc.
+ PR fortran/68864
+ * trans-array.c (evaluate_bound): If deferred, test that 'desc'
+ is an array descriptor before using gfc_conv_descriptor_xxx.
+
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright