This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, fortran] [0/5] PR 45586: restrict vs. non-restrict type compatibility hell


Dear Mikael,

Your set of patches works as defined, i.e., it fixes pr45586 without 
regression on the test suite. However, If the test suite is run with 
-flto, there are still some failures depending on the way gcc is 
configured.

Configured with: ../p_work/configure --prefix=/opt/gcc/gcc4.8p-190641p1 
--enable-languages=c,c++,lto,fortran,ada,objc,obj-c++ --with-gmp=/opt/mp 
--with-system-zlib --enable-checking=release --with-isl=/opt/mp --enable-lto 
--enable-plugin --enable-build-with-cxx

=== gfortran Summary for unix/-m64/-flto ===

# of expected passes		42057
# of unexpected failures	40
# of expected failures		56
# of unsupported tests		72

=== gfortran Summary ===

# of expected passes		83827
# of unexpected failures	80
# of expected failures		112
# of unsupported tests		282

The failing tests are:

FAIL: gfortran.dg/debug/pr35154-dwarf2.f -gdwarf-2  scan-assembler (DW_AT_name: "label"|"label[^\n]*"[^\n]*DW_AT_name)
FAIL: gfortran.dg/debug/pr35154-dwarf2.f -gdwarf-2 -g3  scan-assembler (DW_AT_name: "label"|"label[^\n]*"[^\n]*DW_AT_name)
FAIL: gfortran.dg/bind_c_array_params_2.f90  -O   scan-assembler-times myBindC 1
FAIL: gfortran.dg/bind_c_vars.f90  -O0  (test for excess errors)
FAIL: gfortran.dg/class_array_7.f03  -O1  (internal compiler error)
FAIL: gfortran.dg/pr52835.f90  -O   scan-tree-dump optimized "bar "
FAIL: gfortran.dg/typebound_proc_27.f03  -O1  (internal compiler error)
...

The ICEs and excess errors are

[macbook] f90/bug% gfc /opt/gcc/work/gcc/testsuite/gfortran.dg/class_array_7.f03 -flto -O1
In file included from :0:0:
/opt/gcc/work/gcc/testsuite/gfortran.dg/class_array_7.f03: In function 'main':
/opt/gcc/work/gcc/testsuite/gfortran.dg/class_array_7.f03:49:0: internal compiler error: in fold_convert_loc, at fold-const.c:2008
   use realloc
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
lto-wrapper: gfc returned 1 exit status
collect2: error: lto-wrapper returned 1 exit status

[macbook] f90/bug% gfc /opt/gcc/work/gcc/testsuite/gfortran.dg/typebound_proc_27.f03 -flto -O1
In file included from :0:0:
/opt/gcc/work/gcc/testsuite/gfortran.dg/typebound_proc_27.f03: In function 'main':
/opt/gcc/work/gcc/testsuite/gfortran.dg/typebound_proc_27.f03:34:0: internal compiler error: in fold_convert_loc, at fold-const.c:2008
   use m
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
lto-wrapper: gfc returned 1 exit status
collect2: error: lto-wrapper returned 1 exit status

[macbook] f90/bug% gfc /opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars.f90 /opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars_driver.c -flto
In file included from :0:0:
/opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars.f90:16:0: warning: type of 'b' does not match original declaration [enabled by default]
   integer(c_int), bind(c, name="myF90Array2D") :: B(3, 2)
 ^
In file included from /opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars.f90:16:0,
		 from :0:
/opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars_driver.c:12:5: note: previously declared here
 int myF90Array2D[2][3];      /* B in bind_c_vars */
     ^
In file included from :0:0:
/opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars.f90:15:0: warning: type of 'a' does not match original declaration [enabled by default]
   integer(c_int), bind(c, name="myF90Array3D") :: A(18, 3:7, 10)
 ^
In file included from /opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars.f90:16:0,
		 from :0:
/opt/gcc/work/gcc/testsuite/gfortran.dg/bind_c_vars_driver.c:11:5: note: previously declared here
 int myF90Array3D[10][5][18]; /* A in bind_c_vars */
     ^
Note that despite the warnings, executing the test succeeds.

Configured with: ../p_work/configure --prefix=/opt/gcc/gcc4.8x-190641p1 
--enable-languages=c,c++,lto,fortran --with-gmp=/opt/mp --with-system-zlib 
--with-isl=/opt/mp --enable-lto --enable-plugin --enable-build-with-cxx

=== gfortran Summary for unix/-m64/-flto ===

# of expected passes		41905
# of unexpected failures	193
# of expected failures		56
# of unsupported tests		72

=== gfortran Summary ===

# of expected passes		83523
# of unexpected failures	386
# of expected failures		112
# of unsupported tests		282

The additional failing tests are:

FAIL: gfortran.dg/alloc_comp_assign_2.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_assign_3.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_assign_4.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_auto_array_2.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_bounds_1.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_constructor_2.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_constructor_3.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_constructor_4.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_initializer_1.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_result_2.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/assumed_rank_7.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/assumed_rank_9.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/class_to_type_1.f03  -O0  (internal compiler error)
FAIL: gfortran.dg/extends_4.f03  -O0  (internal compiler error)
FAIL: gfortran.dg/pr43808.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/select_type_26.f03  -O0  (internal compiler error)
FAIL: gfortran.dg/select_type_27.f03  -O0  (internal compiler error)
FAIL: gfortran.dg/type_to_class_1.f03  -O0  (internal compiler error)
FAIL: gfortran.dg/typebound_operator_13.f03  -O0  (internal compiler error)
FAIL: gfortran.dg/typebound_proc_20.f90  -O0  (internal compiler error)
FAIL: gfortran.fortran-torture/execute/forall_5.f90,  -O0  (internal compiler error)

If I am not mistaken, all the failures are of the kind:

FAIL: gfortran.dg/alloc_comp_assign_2.f90  -O0  (internal compiler error)
FAIL: gfortran.dg/alloc_comp_assign_2.f90  -O0  (test for excess errors)
Excess errors:
/opt/gcc/p_work/gcc/testsuite/gfortran.dg/alloc_comp_assign_2.f90:7:0:0: error: non-trivial conversion at assignment
struct array1_integer(kind=4)
struct array1_integer(kind=4)
a.0.i = parm.2;
/opt/gcc/p_work/gcc/testsuite/gfortran.dg/alloc_comp_assign_2.f90:7:0:0: error: non-trivial conversion at assignment
struct array1_integer(kind=4)
struct array1_integer(kind=4)
a.3.i = parm.5;
/opt/gcc/p_work/gcc/testsuite/gfortran.dg/alloc_comp_assign_2.f90:7:0:0: error: non-trivial conversion at assignment
struct array1_integer(kind=4)
struct array1_integer(kind=4)
a.65.i = parm.67;
/opt/gcc/p_work/gcc/testsuite/gfortran.dg/alloc_comp_assign_2.f90:7:0:0: error: non-trivial conversion at assignment
struct array1_integer(kind=4)
struct array1_integer(kind=4)
a.68.i = parm.70;
/opt/gcc/p_work/gcc/testsuite/gfortran.dg/alloc_comp_assign_2.f90:7:0:0: error: non-trivial conversion at assignment
struct b
struct b
temp.74[count1.73_47] = b.75;
/opt/gcc/p_work/gcc/testsuite/gfortran.dg/alloc_comp_assign_2.f90:7:0:0: internal compiler error: verify_gimple failed
lto-wrapper: /opt/gcc/p_xbuild/gcc/testsuite/gfortran/../../gfortran returned 1 exit status
collect2: error: lto-wrapper returned 1 exit status

Thanks for working on this annoying PR.

Dominique


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]