Bugs in 11.6 and unfortunately in 11.7

I am trying to extend some abstract user defined types.
But I am having some difficulties in 11.6 and 11.7.
When I tried to extend two different types which are also derived from some superclass, in the same program I get following messages;


PGF90-S-0155-Incompatible PASS argument in set_index_2d_class_from_ij (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in set_index_2d_class_from_index_2d (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in get_ij_from_indexnumber (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in get_index_2d_from_indexnumber (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_ij (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_index_2d (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in is_same_class_as (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_index_wrapper (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_ijk_wrapper (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in get_index_from_indexnumber_wrapper (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in set_index_class_wrapper (test.f03: 9)
PGF90-S-0155-Incompatible PASS argument in set_index_3d_class_from_ijk (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in set_index_3d_class_from_index_3d (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in get_ijk_from_indexnumber (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in get_index_3d_from_indexnumber (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_ijk (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_index_3d (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in is_same_class_as (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_index_wrapper (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in get_indexnumber_from_ijk_wrapper (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in get_index_from_indexnumber_wrapper (test.f03: 12)
PGF90-S-0155-Incompatible PASS argument in set_index_class_wrapper (test.f03: 12)

Interface part of the index module is;

  TYPE,PUBLIC,ABSTRACT :: Index_Class
     Integer :: NumberOfIndexes = 0
   Contains
     Generic        :: Set_Index => Set_Index_Class_Wrapper
     Generic        :: Get_Index => Get_Index_from_IndexNumber_Wrapper
     Generic        :: Get_IndexNumber => Get_IndexNumber_from_IJK_Wrapper, Get_IndexNumber_from_Index_Wrapper
     Procedure,Pass :: Set_Index_Class_Wrapper
     Procedure,Pass :: Get_Index_from_IndexNumber_Wrapper
     Procedure,Pass :: Get_IndexNumber_from_IJK_Wrapper
     Procedure,Pass :: Get_IndexNumber_from_Index_Wrapper
     Procedure,Pass :: Is_Same_Class_As
  END type Index_Class

  TYPE,PUBLIC,ABSTRACT,EXTENDS(Index_Class) :: Index_1D_Class
     Integer :: I
   Contains
     Generic        :: Set_Index_1D => Set_Index_1D_Class_from_i, Set_Index_1D_Class_from_Index_1D
     Generic        :: Get_Index_1D => Get_Index_1D_from_IndexNumber
     Generic        :: Get_I => Get_I_from_IndexNumber
     Generic        :: Get_IndexNumber_1D => Get_IndexNumber_from_i, Get_IndexNumber_from_Index_1D
     Procedure,Pass :: Set_Index_1D_Class_from_i
     Procedure,Pass :: Set_Index_1D_Class_from_Index_1D
     Procedure,Pass :: Get_I_from_IndexNumber
     Procedure,Pass :: Get_Index_1D_from_IndexNumber
     Procedure,Pass :: Get_IndexNumber_from_i
     Procedure,Pass :: Get_IndexNumber_from_Index_1D
  END type Index_1D_Class

  TYPE,PUBLIC,ABSTRACT,EXTENDS(Index_Class) :: Index_2D_Class
     Integer :: I,J
   Contains
     Generic        :: Set_Index_2D => Set_Index_2D_Class_from_ij, Set_Index_2D_Class_from_Index_2D
     Generic        :: Get_IJ => Get_IJ_from_IndexNumber
     Generic        :: Get_Index_2D => Get_Index_2D_from_IndexNumber
     Generic        :: Get_IndexNumber_2D => Get_IndexNumber_from_ij, Get_IndexNumber_from_Index_2D
     Procedure,Pass :: Set_Index_2D_Class_from_ij
     Procedure,Pass :: Set_Index_2D_Class_from_Index_2D
     Procedure,Pass :: Get_IJ_from_IndexNumber
     Procedure,Pass :: Get_Index_2D_from_IndexNumber
     Procedure,Pass :: Get_IndexNumber_from_ij
     Procedure,Pass :: Get_IndexNumber_from_Index_2D
  END type Index_2D_Class

  TYPE,PUBLIC,ABSTRACT,EXTENDS(Index_Class) :: Index_3D_Class
     Integer :: I,J,K
   Contains
     Generic        :: Set_Index_3D => Set_Index_3D_Class_from_ijk, Set_Index_3D_Class_from_Index_3D
     Generic        :: Get_IJK => Get_IJK_from_IndexNumber
     Generic        :: Get_Index_3D => Get_Index_3D_from_IndexNumber
     Generic        :: Get_IndexNumber_3D => Get_IndexNumber_from_ijk, Get_IndexNumber_from_Index_3D
     Procedure,Pass :: Set_Index_3D_Class_from_ijk
     Procedure,Pass :: Set_Index_3D_Class_from_Index_3D
     Procedure,Pass :: Get_IJK_from_IndexNumber
     Procedure,Pass :: Get_Index_3D_from_IndexNumber
     Procedure,Pass :: Get_IndexNumber_from_ijk
     Procedure,Pass :: Get_IndexNumber_from_Index_3D
  END type Index_3D_Class

And definition part of the test program is;

  TYPE,EXTENDS(Index_2D_Class):: IndexMatrix2
     integer::Matrix(5,7)
  End type IndexMatrix2   (line 9)

  Type,Extends(Index_2D_Class):: index2D
  end type index2D (line 12)


  TYPE,EXTENDS(Index_3D_Class):: IndexMatrix3
     integer::Matrix(5,5,10)
  End type IndexMatrix3

  Type,Extends(Index_3D_Class):: index3d
  end type index3d

Intresting part of the problem is; this extensions were working in the 11.3

And also if I try to extend this types with a more complex data types I get following error;

pgfortran-Fatal-/opt/pgi/linux86-64/11.7/bin/pgf902 TERMINATED by signal 11
Arguments to /opt/pgi/linux86-64/11.7/bin/pgf902
/opt/pgi/linux86-64/11.7/bin/pgf902 /tmp/pgfortranwUYcty7bfdH.ilm -fn material-t.f03 -opt 1 -terse 1 -inform warn -x 51 0x20 -x 119 0xa10000 -x 122 0x40 -x 123 0x1000 -x 127 4 -x 127 17 -x 19 0x400000 -x 28 0x40000 -x 120 0x10000000 -x 70 0x8000 -x 122 1 -x 125 0x20000 -quad -x 59 4 -x 59 4 -tp shanghai -x 120 0x1000 -x 124 0x1400 -y 15 2 -x 57 0x3b0000 -x 58 0x48000000 -x 49 0x100 -x 120 0x200 -astype 0 -x 124 1 -cmdline ‘+pgfortran material-t.f03 -c’ -asm /tmp/pgfortranMUYYXWqxMzn.s

I didn’t give the full codes since they are very long, but if you want a can send them via e-mail.

Thanks in advance…

Hi HeecHee,

Thank you for the report. Would you please send a full reproducing example to PGI Customer Service (trs@pgroup.com)? Obviously the compiler is doing something wrong and I’d like to have our engineers take a look at it and get it fixed as soon as possible.

Thanks,
Mat