[Mpi-forum] Ticket 125/126 PDF ready for review

Jeff Hammond jhammond at alcf.anl.gov
Sat Jan 28 12:40:19 CST 2012


I favor "int main(int argc, char *argv[]);" because it is clear that
the second argument is an array of "char*".  I believe that the
standard uses this convention in some places (perhaps nonuniformly) to
make it clear when the argument is an array, as opposed to a pointer
to a scalar.  However, I believe there is no good answer because C's
handling of strings is stupid.

Ultimately, this is a religious question and cannot be reasoned about.
 I favor letting Bill or another equivalently Pope-like individual
decide this question once and for all.

Jeff

On Sat, Jan 28, 2012 at 12:22 PM, Jeff Squyres (jsquyres)
<jsquyres at cisco.com> wrote:
> In C ** and *[] are the same, so I'd go with the simpler ***.
>
> Sent from my phone. No type good.
>
> On Jan 28, 2012, at 1:05 PM, "Fab Tillier" <ftillier at microsoft.com> wrote:
>
>> I dunno.  I guess it depends on what you think the prototype for C main is.
>>
>> int main(int argc, char *argv[]);
>> or
>> int main(int argc, char **argv);
>>
>> I've mostly seen it as the former, so was trying to stay consistent with that.  After all, argv is an array of char*, and in MPI_Init, it's a pointer to an array of char*...
>>
>> I can't say I care really strongly about this one, I just think MPI_Init and MPI_Init_thread should be consistent, and the ticket was clarifying what parameters were arrays vs. pointers.
>>
>> -Fab
>>
>> Jeff Squyres wrote on Sat, 28 Jan 2012 at 05:03:29
>>
>>> I think it looks ok, meaning that I checked your changes.  I did not check to
>>> see if you missed any.
>>>
>>> That being said, I'm not a fan of the MPI_INIT_THREAD C declaration -- it
>>> seems to just be more confusing than using ***.  Specifically, it's:
>>>
>>> int MPI_Init_thread(int *argc, char *((*argv)[]), int required, int *provided)
>>>
>>> Personally, I think *** is cleaner/easier to understand:
>>>
>>> int MPI_Init_thread(int *argc, char ***argv, int required, int *provided)
>>>
>>> I would advocate changing MPI_Init_thread to *** rather than changing
>>> MPI_Init to the complicated [] syntax.
>>>
>>>
>>>
>>> On Jan 20, 2012, at 2:17 PM, Fab Tillier wrote:
>>>
>>>> Hi Folks,
>>>>
>>>> I've implemented the changes to the standard document for tickets 125
>>> and 126.  The PDF is attached to the ticket, and available here:
>>> https://svn.mpi-forum.org/trac/mpi-forum-web/raw-
>>> attachment/ticket/125/ticket-125.pdf
>>>>
>>>> A couple notes where I deviated from the tickets: - I didn't
>>>> distinguish between input and output parameter changes, so all the
>>>> changes are marked as ticket125 - I did not add 'const' for the input
>>>> parameters, as that was already done by ticket 140 - I only updated the
>>>> C bindings - I did not update MPI_Type_hindexed and MPI_Type_struct in
>>>> the deprecated chapter. - I updated MPI_Init to match the parameter
>>>> definition of MPI_Init_thread.
>>>>
>>>> I'd appreciate if folks could take a look and comment, letting me know
>>>> if I botched anything, or missed anything that should be changed.
>>>>
>>>> Thanks,
>>>> -Fab
>>>>
>>>>
>>>> _______________________________________________
>>>> mpi-forum mailing list
>>>> mpi-forum at lists.mpi-forum.org
>>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
>>>
>>>
>>
>>
>> _______________________________________________
>> mpi-forum mailing list
>> mpi-forum at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
>
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum



-- 
Jeff Hammond
Argonne Leadership Computing Facility
University of Chicago Computation Institute
jhammond at alcf.anl.gov / (630) 252-5381
http://www.linkedin.com/in/jeffhammond
https://wiki.alcf.anl.gov/old/index.php/User:Jhammond




More information about the mpi-forum mailing list