I add the following options to the compiler : -qstrict -qcheck
-qinitauto=0
according to your suggestion. They are to check the boundary and do the
initialization. And the results still not right. Any other suggestions ?
Thanks!
shan
Andrew Siegel wrote:
I should add that while in Ray's case we couldn't find any of the common
culprits for this (and thus it may very well be a bug), there are other
non-bug reasons that this happens commonly and that you might want to
check. The most common in my experience is programs that accidentally
assume a local scalar or two is automatically initialized to zero. You can
switch on a compiler flag to enforce this and check if it is the problem.
I would also run other standard memory diagnostics, like array bounds
checking, etc. if you haven't already. i also have a few other suggestions
if this doesn't work.
On Thu, 21 Jul 2005, Ray Loy wrote:
I have a fortran90 program. I found that if I use -O2, -O3 (with
-qstrict) optimization when compiling, my program
failed to generate the right results.
shan,
back in June i found this bug, which happened with -O vs none.
reported it to ibm but haven't heard anything back yet.
it is hard to track these down....
ray
-----excerpt from bug report----
essentially, the generated code computes min(4,8)-1 to be 7.
the value ie is computed incorrectly on this line:
ie = min(index(i90_now%this_line,BLK), &
index(i90_now%this_line,EOL)) - 1
but is correct when it is done this way, breaking out
the subexpressions:
myBLK=index(i90_now%this_line,BLK) ! rml
myEOL=index(i90_now%this_line,EOL) ! rml
myie= min(myBLK,myEOL) -1 ! rml
the problem will go away if you remove -O on the compile.
- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.
- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.
|