Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
gib
Total Points:
3,085
Status Points:
2,585
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,676
Status Points:
5,176
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:
112,141
Status Points:
112,141
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:
112,141
Status Points:
112,141
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,085
Status Points:
2,585
Brown Belt
May 8, 2008 4:54 PM PDT
Rate
 
#4 Reply to #3
Thanks Steve.


Steve Lionel (Intel)
Total Points:
112,141
Status Points:
112,141
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

8293 users have contributed to 31241 threads and 99118 posts to date.
In the past 24 hours, we have 12 new thread(s) 11 new posts(s), and 21 new user(s).

In the past 3 days, the most popular thread for everyone has been huge pages on linux? The most posts were made to Pipeline buffer between stages? The post with the most views is Another example attached (Tr

Please welcome our newest member bwillems