--- a/boost/multi_array/base.hpp 2013-04-01 13:53:59.565375431 +0200 +++ b/boost/multi_array/base.hpp 2013-04-01 13:54:03.230375652 +0200 @@ -65,7 +65,7 @@ // object creation in small-memory environments. Thus, the objects // can be left undefined by defining BOOST_MULTI_ARRAY_NO_GENERATORS // before loading multi_array.hpp. -#if !BOOST_MULTI_ARRAY_NO_GENERATORS +#ifndef BOOST_MULTI_ARRAY_NO_GENERATORS namespace { multi_array_types::extent_gen extents; multi_array_types::index_gen indices; --- a/boost/interprocess/detail/workaround.hpp +++ a/boost/interprocess/detail/workaround.hpp @@ -29,19 +29,19 @@ #include - #if ((_POSIX_THREAD_PROCESS_SHARED - 0) > 0) + #if defined(_POSIX_THREAD_PROCESS_SHARED) && ((_POSIX_THREAD_PROCESS_SHARED - 0) > 0) //Cygwin defines _POSIX_THREAD_PROCESS_SHARED but does not implement it. //Mac Os X >= Leopard defines _POSIX_THREAD_PROCESS_SHARED but does not seems to work. # if !defined(__CYGWIN__) && !defined(__APPLE__) # define BOOST_INTERPROCESS_POSIX_PROCESS_SHARED # endif #endif - #if ((_POSIX_BARRIERS - 0) > 0) + #if defined(_POSIX_BARRIERS) && ((_POSIX_BARRIERS - 0) > 0) # define BOOST_INTERPROCESS_POSIX_BARRIERS # endif - #if ((_POSIX_SEMAPHORES - 0) > 0) + #if defined(_POSIX_SEMAPHORES) && ((_POSIX_SEMAPHORES - 0) > 0) # define BOOST_INTERPROCESS_POSIX_NAMED_SEMAPHORES # if defined(__CYGWIN__) #define BOOST_INTERPROCESS_POSIX_SEMAPHORES_NO_UNLINK @@ -67,7 +67,7 @@ # define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS #endif - #if ((_POSIX_SHARED_MEMORY_OBJECTS - 0) > 0) + #if defined(_POSIX_SHARED_MEMORY_OBJECTS) && ((_POSIX_SHARED_MEMORY_OBJECTS - 0) > 0) # define BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS #else //VMS and MACOS don't define it but the have shm_open/close interface @@ -88,7 +88,7 @@ //# define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS_ONLY #endif - #if ((_POSIX_TIMEOUTS - 0) > 0) + #if defined(_POSIX_TIMEOUTS) && ((_POSIX_TIMEOUTS - 0) > 0) # define BOOST_INTERPROCESS_POSIX_TIMEOUTS #endif