Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
gib
Total Points:
3,215
Status Points:
2,715
Brown Belt
May 8, 2008 12:45 AM PDT
/Qfp-stack-check
The following program is fine when compiled (on Windows) with
ifort err.f90
but when compiled with the fp stack checking option
ifort /Qfp-stack-check err.f90
it gives access violation when executed.

In my debugging efforts I've been turning on all the stack checking options, but this one seems to create a bug itself. 
Interestingly, commenting out either of the two executable statements in subroutine zzz makes it OK.
Any comments Steve?

cheers
Gib

! err.f90
module errmod
implicit none
contains
subroutine zzz(m)
integer :: m(3)
integer :: n(3)
real :: x(3)

x = m
n = x

end subroutine
end module

program err
use errmod
integer :: site(3) = (/1,2,3/)
call zzz(site)
end

Les Neilson
Total Points:
5,816
Status Points:
5,316
Brown Belt
May 8, 2008 4:25 AM PDT
Rate
 
#1

The option is /Qfpstkchk

I tried your code both from the command line and within VS without a problem
(VS2005 and IVF 9.1.028)

Les



Steve Lionel (Intel)
Total Points:
115,025
Status Points:
115,025
Black Belt
May 8, 2008 9:08 AM PDT
Rate
 
#2 Reply to #1
Access violation is exactly what to expect when the FP stack check option finds a problem.

I can reproduce the error - let me investigate.



Steve Lionel (Intel)
Total Points:
115,025
Status Points:
115,025
Black Belt
May 8, 2008 10:18 AM PDT
Rate
 
#3 Reply to #2
By the way, the correct spelling of the option in version 10.1 is /Qfp-stack-check.  The older spelling /Qfpstkchk has been deprecated. I don't see the error with 9.1 nor with the internal build of our next major release (still a ways away).

As best as I can tell, this is a compiler bug.  It occurs only with optimization level 2 or 3.  I have reported this to development.  If you report the issue to Intel Support, please reference T85092-CP.



gib
Total Points:
3,215
Status Points:
2,715
Brown Belt
May 8, 2008 4:54 PM PDT
Rate
 
#4 Reply to #3
Thanks Steve.


Steve Lionel (Intel)
Total Points:
115,025
Status Points:
115,025
Black Belt
May 9, 2008 11:43 AM PDT
Rate
 
#5
The problem you encountered was reported earlier and is fixed in our next major release.  A workaround is to use /QxN or whatever other appropriate version of /Qx is that would generate SSE code instead of x87 (no FP stack, runs faster.) Reference: T80134-CP.





Intel Software Network Forums Statistics

8461 users have contributed to 31579 threads and 100553 posts to date.
In the past 24 hours, we have 23 new thread(s) 133 new posts(s), and 163 new user(s).

In the past 3 days, the most popular thread for everyone has been gemm(A,A,A) like possible? The most posts were made to gemm(A,A,A) like possible? The post with the most views is Quoting - rase if (k.eq.0

Please welcome our newest member riderwear1