[Bug fortran/90355] Uninitialized read in gfortran.dg/ISO_Fortran_binding_4.f90 test

2019-05-11 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90355

Paul Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Paul Thomas  ---
Fixed on trunk and 9-branch.

Thanks for the report

Paul

[Bug fortran/90355] Uninitialized read in gfortran.dg/ISO_Fortran_binding_4.f90 test

2019-05-11 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90355

--- Comment #4 from Paul Thomas  ---
Author: pault
Date: Sat May 11 07:49:52 2019
New Revision: 271090

URL: https://gcc.gnu.org/viewcvs?rev=271090=gcc=rev
Log:
2019-05-11  Paul Thomas  

PR fortran/90093
* gfortran.dg/ISO_Fortran_binding_12.f90: New test.
* gfortran.dg/ISO_Fortran_binding_12.c: Supplementary code.

PR fortran/90352
* gfortran.dg/iso_c_binding_char_1.f90: New test.

PR fortran/90355
* gfortran.dg/ISO_Fortran_binding_4.f90: Add 'substr' to test
the direct passing of substrings as descriptors to bind(C).
* gfortran.dg/assign_10.f90: Increase the tree_dump count of
'atmp' to account for the setting of the 'span' field.
* gfortran.dg/transpose_optimization_2.f90: Ditto.

Added:
branches/gcc-9-branch/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_12.c
branches/gcc-9-branch/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_12.f90
branches/gcc-9-branch/gcc/testsuite/gfortran.dg/iso_c_binding_char_1.f90

[Bug fortran/90355] Uninitialized read in gfortran.dg/ISO_Fortran_binding_4.f90 test

2019-05-11 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90355

--- Comment #3 from Paul Thomas  ---
Author: pault
Date: Sat May 11 07:47:32 2019
New Revision: 271089

URL: https://gcc.gnu.org/viewcvs?rev=271089=gcc=rev
Log:
2019-05-11  Paul Thomas  

PR fortran/90093
* trans-decl.c (convert_CFI_desc): Test that the dummy is
present before doing any of the conversions.

PR fortran/90352
* decl.c (gfc_verify_c_interop_param): Restore the error for
charlen > 1 actual arguments passed to bind(C) procs.
Clean up trailing white space.

PR fortran/90355
* trans-array.c (gfc_trans_create_temp_array): Set the 'span'
field to the element length for all types.
(gfc_conv_expr_descriptor): The force_no_tmp flag is used to
prevent temporary creation, especially for substrings.
* trans-decl.c (gfc_trans_deferred_vars): Rather than assert
that the backend decl for the string length is non-null, use it
as a condition before calling gfc_trans_vla_type_sizes.
* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): 'force_no_tmp'
is set before calling gfc_conv_expr_descriptor.
* trans.c (get_array_span): Move the code for extracting 'span'
from gfc_build_array_ref to this function. This is specific to
descriptors that are component and indirect references.
* trans.h : Add the force_no_tmp flag bitfield to gfc_se.

2019-05-11  Paul Thomas  

PR fortran/90093
* gfortran.dg/ISO_Fortran_binding_12.f90: New test.
* gfortran.dg/ISO_Fortran_binding_12.c: Supplementary code.

PR fortran/90352
* gfortran.dg/iso_c_binding_char_1.f90: New test.

PR fortran/90355
* gfortran.dg/ISO_Fortran_binding_4.f90: Add 'substr' to test
the direct passing of substrings as descriptors to bind(C).
* gfortran.dg/assign_10.f90: Increase the tree_dump count of
'atmp' to account for the setting of the 'span' field.
* gfortran.dg/transpose_optimization_2.f90: Ditto.

Modified:
branches/gcc-9-branch/gcc/fortran/ChangeLog
branches/gcc-9-branch/gcc/fortran/decl.c
branches/gcc-9-branch/gcc/fortran/trans-array.c
branches/gcc-9-branch/gcc/fortran/trans-decl.c
branches/gcc-9-branch/gcc/fortran/trans-expr.c
branches/gcc-9-branch/gcc/fortran/trans.c
branches/gcc-9-branch/gcc/fortran/trans.h
branches/gcc-9-branch/gcc/testsuite/ChangeLog
branches/gcc-9-branch/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_4.f90
branches/gcc-9-branch/gcc/testsuite/gfortran.dg/assign_10.f90
   
branches/gcc-9-branch/gcc/testsuite/gfortran.dg/transpose_optimization_2.f90

[Bug fortran/90355] Uninitialized read in gfortran.dg/ISO_Fortran_binding_4.f90 test

2019-05-10 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90355

--- Comment #2 from Paul Thomas  ---
Author: pault
Date: Fri May 10 07:59:42 2019
New Revision: 271057

URL: https://gcc.gnu.org/viewcvs?rev=271057=gcc=rev
Log:
2019-05-10  Paul Thomas  

PR fortran/90093
* trans-decl.c (convert_CFI_desc): Test that the dummy is
present before doing any of the conversions.

PR fortran/90352
* decl.c (gfc_verify_c_interop_param): Restore the error for
charlen > 1 actual arguments passed to bind(C) procs.
Clean up trailing white space.

PR fortran/90355
* trans-array.c (gfc_trans_create_temp_array): Set the 'span'
field to the element length for all types.
(gfc_conv_expr_descriptor): The force_no_tmp flag is used to
prevent temporary creation, especially for substrings.
* trans-decl.c (gfc_trans_deferred_vars): Rather than assert
that the backend decl for the string length is non-null, use it
as a condition before calling gfc_trans_vla_type_sizes.
* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): 'force_no_tmp'
is set before calling gfc_conv_expr_descriptor.
* trans.c (get_array_span): Move the code for extracting 'span'
from gfc_build_array_ref to this function. This is specific to
descriptors that are component and indirect references.
* trans.h : Add the force_no_tmp flag bitfield to gfc_se.

2019-05-10  Paul Thomas  

PR fortran/90093
* gfortran.dg/ISO_Fortran_binding_12.f90: New test.
* gfortran.dg/ISO_Fortran_binding_12.c: Supplementary code.

PR fortran/90352
* gfortran.dg/iso_c_binding_char_1.f90: New test.

PR fortran/90355
* gfortran.dg/ISO_Fortran_binding_4.f90: Add 'substr' to test
the direct passing of substrings as descriptors to bind(C).
* gfortran.dg/assign_10.f90: Increase the tree_dump count of
'atmp' to account for the setting of the 'span' field.
* gfortran.dg/transpose_optimization_2.f90: Ditto.

Added:
trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_12.c
trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_12.f90
trunk/gcc/testsuite/gfortran.dg/iso_c_binding_char_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_4.f90
trunk/gcc/testsuite/gfortran.dg/assign_10.f90
trunk/gcc/testsuite/gfortran.dg/transpose_optimization_2.f90

[Bug fortran/90355] Uninitialized read in gfortran.dg/ISO_Fortran_binding_4.f90 test

2019-05-06 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90355

Paul Thomas  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-05-06
   Assignee|unassigned at gcc dot gnu.org  |pault at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Paul Thomas  ---
Created attachment 46299
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46299=edit
Fix for the bug

Hi Andreas,

I have been working on this - I just missed the release of 9-branch and so have
been working on getting it right.

In principle, passing of substrings should be via the descriptor but the hidden
descriptor is getting lost some how.

Thanks for the posting.

Paul