pgf95 compiling problem

I have been using PGI for a while, but the following very basic problem makes me confused. Would anyone please help how to correct the problem, or direct me to any place that has solved the problem? The problem is, pgf95 (version 7.1) does not give programming error for wrong array operations! Example is as follows.
---------------------------code----------------------------------
program main
implicit none
real, dimension(4,3) :: x
real, dimension(4) :: a,b,c
a=(/0.0, 5.0, 8.0, 10.0/)
b=(/4.0, 6.0, 5.0, 4.0/)
x(:,1)=a
x(:,2)=b
x(:,3)=b
x(:,4)=a
c=x(:,4)b
print
, ‘x’
print*, x
print*, ‘x(:,4)’
print*, x(:,4)
print*, ‘c’
print*, c
end program main
----------------------------results--------------------------------
x
0.000000 5.000000 8.000000 10.00000
4.000000 6.000000 5.000000 4.000000
4.000000 6.000000 5.000000 4.000000
x(:,4)
0.000000 5.000000 8.000000 10.00000
c
0.000000 25.00000 64.00000 100.0000
In this simple case, x(:,4) is wrong because x is 4 by 3. PGI does not give any error information.

Hi funnyway,

Please add the flag “-Mbounds” to check for out of bounds errors. Because of the overhead cost necessary to perform bounds checking, it is not enabled by default.

Example:

% pgf90 uf1253.f90 -Mbounds
% a.out
0: Subscript out of range for array x (uf1253.f90: 11)
    subscript=4, lower bound=1, upper bound=3, dimension=2

Hope this helps,
Mat

Which means I did not read through the pgi user’s guide. Will read it again. Thanks for help.