Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
gib
Total Points:
2,210
Status Points:
1,710
Brown Belt
May 7, 2008 11:45 PM 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:
4,946
Status Points:
4,446
Brown Belt
May 8, 2008 3: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:
87,516
Status Points:
87,516
Black Belt
May 8, 2008 8: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:
87,516
Status Points:
87,516
Black Belt
May 8, 2008 9: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:
2,210
Status Points:
1,710
Brown Belt
May 8, 2008 3:54 PM PDT
Rate
 
#4 Reply to #3
Thanks Steve.


Steve Lionel (Intel)
Total Points:
87,516
Status Points:
87,516
Black Belt
May 9, 2008 10: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

6844 users have contributed to 28623 threads and 88712 posts to date.
In the past 24 hours, we have 23 new thread(s) 112 new posts(s), and 143 new user(s).

In the past 3 days, the most popular thread for everyone has been Array constructor The most posts were made to Array constructor The post with the most views is Your management did not know

Please welcome our newest member intelnoob