Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] What's wrong with this code?
From: Prentice Bisbal (prentice_at_[hidden])
Date: 2011-02-23 14:10:52

Tim Prince wrote:
> On 2/23/2011 8:27 AM, Prentice Bisbal wrote:
>> Jeff Squyres wrote:
>>> On Feb 23, 2011, at 9:48 AM, Tim Prince wrote:
>>>>> I agree with your logic, but the problem is where the code containing
>>>>> the error is coming from - it's comping from a header files that's a
>>>>> part of Open MPI, which makes me think this is a cmpiler error, since
>>>>> I'm sure there are plenty of people using the same header file. in
>>>>> their
>>>>> code.
>>>> Are you certain that they all find it necessary to re-define
>>>> identifiers from that header file, rather than picking parameter
>>>> names which don't conflict?
>>> Without seeing the code, it sounds like Tim might be right: someone
>>> is trying to re-define the MPI_STATUS_SIZE parameter that is being
>>> defined by OMPI's mpif-config.h header file. Regardless of include
>>> file/initialization ordering (i.e., regardless of whether
>>> mpif-config.h is the first or Nth entity to try to set this
>>> parameter), user code should never set this parameter value.
>>> Or any symbol that begins with MPI_, for that matter. The entire
>>> "MPI_" namespace is reserved for MPI.
>> I understand that, and I checked the code to make sure the programmer
>> didn't do anything stupid like that.
>> The entire code is only a few hundred lines in two different files. In
>> the entire program, there is only 1 include statement:
>> include 'mpif.h'
>> and MPI_STATUS_SIZE appears only once:
>> integer ierr,istatus(MPI_STATUS_SIZE)
>> I have limited knowledge of Fortran programming, but based on this, I
>> don't see how MPI_STATUS_SIZE could be getting overwritten.
> Earlier, you showed a preceding PARAMETER declaration setting a new
> value for that name, which would be required to make use of it in this
> context. Apparently, you intend to support only compilers which violate
> the Fortran standard by supporting a separate name space for PARAMETER
> identifiers, so that you can violate the MPI standard by using MPI_
> identifiers in a manner which I believe is called shadowing in C.


Check the original post again - that PARAMETER line you are referring to
 comes from the mpif-config.h file - not from my own code.