In version 1.6.1 (and the same issue appears to be in SVN trunk), there are some warnings when using <mpi.h> from code compiled in C++11 mode with more recent snapshots of GCC 4.9:

.../include/mpi_portable_platform.h:102:38: warning: invalid suffix on literal; 
C++11 requires a space between literal and string macro [-Wliteral-suffix]
          
_STRINGIFY(__INTEL_COMPILER)"."_STRINGIFY(_PLATFORM_INTEL_COMPILER_BUILD_DATE)
                                      ^
.../include/mpi_portable_platform.h:135:33: warning: invalid suffix on literal; 
C++11 requires a space between literal and string macro [-Wliteral-suffix]
             
_STRINGIFY(__PGIC__)"."_STRINGIFY(__PGIC_MINOR__)"-"_STRINGIFY(__PGIC_PATCHLEVEL__)
                                 ^
.../include/mpi_portable_platform.h:135:62: warning: invalid suffix on literal; 
C++11 requires a space between literal and string macro [-Wliteral-suffix]
             
_STRINGIFY(__PGIC__)"."_STRINGIFY(__PGIC_MINOR__)"-"_STRINGIFY(__PGIC_PATCHLEVEL__)
                                                              ^
.../include/mpi_portable_platform.h:374:34: warning: invalid suffix on literal; 
C++11 requires a space between literal and string macro [-Wliteral-suffix]
              
_STRINGIFY(__GNUC__)"."_STRINGIFY(__GNUC_MINOR__)"."_STRINGIFY(__GNUC_PATCHLEVEL__)
                                  ^
.../include/mpi_portable_platform.h:374:63: warning: invalid suffix on literal; 
C++11 requires a space between literal and string macro [-Wliteral-suffix]
              
_STRINGIFY(__GNUC__)"."_STRINGIFY(__GNUC_MINOR__)"."_STRINGIFY(__GNUC_PATCHLEVEL__)
                                                               ^
.../include/mpi_portable_platform.h:377:34: warning: invalid suffix on literal; 
C++11 requires a space between literal and string macro [-Wliteral-suffix]
              _STRINGIFY(__GNUC__)"."_STRINGIFY(__GNUC_MINOR__)".?"

The fix is to insert spaces between the strings like the warnings say; doing that is compatible with both older and new language standards.

-- Jeremiah Willcock

Reply via email to