I am wondering about a change in behavior that I noticed with v3.8.3 (versus 3.7.6).

I have a Vec object which in 3.7.6 was stored in a common block. For 3.8.3 we have moved it to a module since gfortran was unhappy about having it in a common block.

In our code, we extract values from the vector using VecGetArray( ).  With ifort the behavior is the same (and correct) for both versions of our code.  With gfortran, we are seeing incorrect values when using VecGetArray( ) when the Vec is contained in a module as needed for 3.8.3.  If we switch over to VecGetArrayReadF90( ) gfortran once again produces correct results.

Is there a good reason to expect this behavior?  I'm am trying to understand the underlying concepts that are a play here.


Reply via email to