PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

pgf90 13.10 -- ICE with integer(8) in abstract interface

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling
View previous topic :: View next topic  
Author Message
Paul Romano



Joined: 29 Jan 2014
Posts: 3

PostPosted: Wed Jan 29, 2014 12:31 pm    Post subject: pgf90 13.10 -- ICE with integer(8) in abstract interface Reply with quote

I ran into an internal compiler error on the following code (I've tried to simplify it as much as possible) when trying to compile with -i8:
Code:
module pgi_ice

  type, abstract :: abstracttype
  contains
    procedure(bad_interface), deferred :: bound_procedure
  end type abstracttype

  abstract interface
    function bad_interface(this, n) result(val)
      import :: abstracttype
      class(abstracttype) :: this
      integer, intent(in) :: n
      real                :: val(n)
    end function bad_interface
  end interface

end module pgi_ice

Compiling this gives the following:
Code:
~> pgfortran -i8 -c pgi_ice.f90
Lowering Error: array upper bound is not a symbol for datatype 65
Lowering Error: array extnt is not a symbol for datatype 65
PGF90-F-0000-Internal compiler error. Errors in Lowering       2 (pgi_ice.f90: 17)
PGF90/x86-64 Linux 13.10-0: compilation aborted

Note that if instead of compiling with -i8, I declare the argument n as integer(8) explicitly and then compile without -i8, I still get the same ICE. With no integer(8)s, the code compiles fine. It also compiles successfully with ifort and gfortran regardless of what kind the integers are.
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6125
Location: The Portland Group Inc.

PostPosted: Thu Jan 30, 2014 9:31 am    Post subject: Reply with quote

Thanks Paul, I've replicated the behavior here and sent a report to engineering (TPR#19796) for further investigation.

- Mat
Back to top
View user's profile
jtull



Joined: 30 Jun 2004
Posts: 438

PostPosted: Fri Mar 14, 2014 1:13 pm    Post subject: TPR 19796 is fixed in 14.3 Reply with quote

TPR 19796 - User code causes ICE "array upper bound is not a symbol for datatype"

has been fixed in the 14.3 release, out now.

dave
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group