replica nfl jerseysreplica nfl jerseyssoccer jerseyreplica nfl jerseys forums.silverfrost.com :: View topic - Error 799
forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Error 799

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Support
View previous topic :: View next topic  
Author Message
JohnCampbell



Joined: 16 Feb 2006
Posts: 2615
Location: Sydney

PostPosted: Wed Dec 11, 2013 6:17 am    Post subject: Error 799 Reply with quote

My apologies if this is a silly error, but I am getting an unusual error message for the following code at line 3; the first executable statement:

FTN95/Win32 Ver. 6.35.0
*** Error 799: Compiler failure - unexpected type for tree argument
Code:
!  program to test
!
      integer*4 n
      real*8    mb
      real*8, allocatable, dimension(:,:) ::  a, b, c
!

      do n = 100, 2100, 500
!
        mb = n*n*3. / (2.**17)
        write (*,fmt='(a,i5,f8.2,a)') ' Test ',n, mb,' mb'
        allocate ( a(n,n) )
        allocate ( b(n,n) )
        allocate ( c(n,n) )
        write (*,*) 'Align A', mod (loc(a), 32)
        write (*,*) 'Align B', mod (loc(b), 32)
        write (*,*) 'Align C', mod (loc(c), 32)
!
        call Vec_Add_Test (n, a, b)
        call Vec_Sub_Test (n, a, b, c)

        deallocate ( c )
        deallocate ( b )
        deallocate ( a )

      end do
!
      write (*,*) 'End'
      end         

I can't see what I have done wrong !!

John
Back to top
View user's profile Send private message
davidb



Joined: 17 Jul 2009
Posts: 560
Location: UK

PostPosted: Wed Dec 11, 2013 8:33 am    Post subject: Reply with quote

It runs without error for me, using version 7.00 (32 bit windows).
_________________
Programmer in: Fortran 77/95/2003/2008, C, C++ (& OpenMP), java, Python, Perl
Back to top
View user's profile Send private message
JohnCampbell



Joined: 16 Feb 2006
Posts: 2615
Location: Sydney

PostPosted: Wed Dec 11, 2013 12:34 pm    Post subject: Reply with quote

David,
I have now tested it on FTN95 Ver 6.10.0
It works ok if I use /check but if I use /debug, /opt or no option I get error ( no 799) ??
Similar for the following example, which also successfully fixes the variable alignment problem, when compiled with /check ??
Code:
!  program to test
!
      integer*4 n, m, ka, kb, kc
      real*8    mb
      real*8, allocatable, dimension(:,:) ::  a, b, c
!
      do n = 100, 2100, 500
!
        m  = n+1
        mb = n*m*3. / (2.**17)
        write (*,fmt='(a,i5,f8.2,a)') ' Test ',n, mb,' mb'
        allocate ( a(n,m) )
        allocate ( b(n,m) )
        allocate ( c(n,m) )
        write (*,*) 'Align A', mod (loc(a), 32)
        write (*,*) 'Align B', mod (loc(b), 32)
        write (*,*) 'Align C', mod (loc(c), 32)
!
        ka = 1 + ( 32 - mod (loc(a), 32) ) / 8
        kb = 1 + ( 32 - mod (loc(b), 32) ) / 8
        kc = 1 + ( 32 - mod (loc(c), 32) ) / 8
!
        call Vec_Sub_Test (n, a(ka,1), b(kb,1), c(kc,1) )

        deallocate ( c )
        deallocate ( b )
        deallocate ( a )

      end do
!
      write (*,*) 'End'
      end

      subroutine Vec_Sub_Test (n, a, b, c )
      integer*4 :: n
      real*8    :: a(n,n), b(n,n), c(n,n)
!
        write (*,*) 'Align A', mod (loc(a), 32)
        write (*,*) 'Align B', mod (loc(b), 32)
        write (*,*) 'Align C', mod (loc(c), 32)
      end
Back to top
View user's profile Send private message
davidb



Joined: 17 Jul 2009
Posts: 560
Location: UK

PostPosted: Wed Dec 11, 2013 8:59 pm    Post subject: Reply with quote

I see.
It looks like a bug then.
_________________
Programmer in: Fortran 77/95/2003/2008, C, C++ (& OpenMP), java, Python, Perl
Back to top
View user's profile Send private message
JohnCampbell



Joined: 16 Feb 2006
Posts: 2615
Location: Sydney

PostPosted: Thu Dec 12, 2013 12:12 am    Post subject: Reply with quote

I'd like to know what a "tree argument" is. I'm not aware of using these.

John
Back to top
View user's profile Send private message
davidb



Joined: 17 Jul 2009
Posts: 560
Location: UK

PostPosted: Thu Dec 12, 2013 6:42 am    Post subject: Reply with quote

There aren't any "Tree arguments" in Fortran.

This is an internal compiler error. I suspect that a tree argument is related to the Abstract Syntax Tree used by the compiler. See

http://en.wikipedia.org/wiki/Abstract_syntax_tree

Will have to see what Paul makes of the error.
_________________
Programmer in: Fortran 77/95/2003/2008, C, C++ (& OpenMP), java, Python, Perl
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8210
Location: Salford, UK

PostPosted: Thu Dec 12, 2013 8:50 am    Post subject: Reply with quote

I have now logged this for investigation.
Back to top
View user's profile Send private message AIM Address
JohnCampbell



Joined: 16 Feb 2006
Posts: 2615
Location: Sydney

PostPosted: Fri Dec 13, 2013 12:38 pm    Post subject: Reply with quote

Edit: I have found a simplified version of the error plus a work-around that identifies the problem is using LOC inside MOD. It appears to me that LOC is being treated differently from other PURE functions, such as INT in the expanded example.
Code:
integer*4 function align_32a (a)
  integer*4 a, la
  la = loc (a)
  align_32a = mod (la, 32)
end
integer*4 function angle (deg_val)
  real*8 deg_val
  angle = mod ( int (deg_val), 360)
end
integer*4 function align_32 (a)
  integer*4 a
  align_32 = mod (loc (a), 32)
end

John


Last edited by JohnCampbell on Mon Dec 16, 2013 12:29 am; edited 1 time in total
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8210
Location: Salford, UK

PostPosted: Fri Dec 13, 2013 5:08 pm    Post subject: Reply with quote

Thanks
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8210
Location: Salford, UK

PostPosted: Mon Mar 17, 2014 2:20 pm    Post subject: Reply with quote

This bug has been fixed for the next release.
Back to top
View user's profile Send private message AIM Address
JohnCampbell



Joined: 16 Feb 2006
Posts: 2615
Location: Sydney

PostPosted: Wed Mar 19, 2014 2:32 am    Post subject: Reply with quote

Paul,

Thanks for fixing this. I suppose that FTN95 no longer has tree arguments.

John
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8210
Location: Salford, UK

PostPosted: Wed Mar 19, 2014 9:25 am    Post subject: Reply with quote

The error report was equivalent to "Internal compiler error".
An internal compiler tree had become corrupted.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Support All times are GMT + 1 Hour
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 © 2001, 2005 phpBB Group