I was able to compile 1.3.0 with PGI 8.0-3 on January 27th. If that helps anyone.
-- Prentice George Bosilca wrote: > Apparently, the PGI compiler (version 8) doesn't recognize restrict as a > keyword in a function prototype if the associated argument is not named. > There is one obvious solution: remove the restrict keyword but I don't > think it's the right one. > > Can you try to replace >> typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void *restrict, >> void *restrict, >> void *restrict, >> int *, >> struct >> ompi_datatype_t **, >> struct >> ompi_op_base_module_1_0_0_t *); > > by typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void *restrict > in1, >> void *restrict in2, >> void *restrict >> out, int *, >> struct >> ompi_datatype_t **, >> struct >> ompi_op_base_module_1_0_0_t *); > > Thanks, > george. > > On Mar 11, 2009, at 15:52 , Mostyn Lewis wrote: > >> Compiling SVN r20757 with PGI 8.0-4 failed doing ompi_info with >> >> "../../../.././ompi/mca/op/op.h", line 264: error: duplicate parameter >> name >> void *restrict, >> ^ >> >> "../../../.././ompi/mca/op/op.h", line 265: error: duplicate parameter >> name >> void *restrict, >> int *, >> ^ >> >> 2 errors detected in the compilation of >> "../../../.././ompi/tools/ompi_info/components.cc". >> make[2]: *** [components.o] Error 2 >> make[2]: Leaving directory >> `/tmp/o/openmpi-1.4a1r20757_svn/build/ompi/tools/ompi_info' >> >> Code is: >> >> /* >> * Typedef for 3-buffer (two input and one output) op functions. >> */ >> typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void *restrict, >> void *restrict, >> void *restrict, >> int *, >> struct >> ompi_datatype_t **, >> struct >> ompi_op_base_module_1_0_0_t *); >> >> DM