Ticket #6843: boost-future-intel-fix-20120421-0519.patch
File boost-future-intel-fix-20120421-0519.patch, 1.6 KB (added by , 10 years ago) |
---|
-
boost/thread/future.hpp
1120 1120 void lazy_init() 1121 1121 { 1122 1122 #if defined BOOST_THREAD_PROMISE_LAZY 1123 1124 #if defined(BOOST_INTEL) 1125 1126 #pragma push_macro("atomic_load") 1127 #undef atomic_load 1128 1129 #pragma push_macro("atomic_compare_exchange") 1130 #undef atomic_compare_exchange 1131 1132 #endif // #if defined(BOOST_INTEL) 1133 1123 1134 if(!atomic_load(&future_)) 1124 1135 { 1125 1136 future_ptr blank; 1126 1137 atomic_compare_exchange(&future_,&blank,future_ptr(new detail::future_object<R>)); 1127 1138 } 1139 1140 #if defined(BOOST_INTEL) 1141 1142 #pragma pop_macro("atomic_load") 1143 #pragma pop_macro("atomic_compare_exchange") 1144 1145 #endif // #if defined(BOOST_INTEL) 1146 1128 1147 #endif 1129 1148 } 1130 1149 … … 1279 1298 void lazy_init() 1280 1299 { 1281 1300 #if defined BOOST_THREAD_PROMISE_LAZY 1301 1302 #if defined(BOOST_INTEL) 1303 1304 #pragma push_macro("atomic_load") 1305 #undef atomic_load 1306 1307 #pragma push_macro("atomic_compare_exchange") 1308 #undef atomic_compare_exchange 1309 1310 #endif // #if defined(BOOST_INTEL) 1311 1282 1312 if(!atomic_load(&future_)) 1283 1313 { 1284 1314 future_ptr blank; 1285 1315 atomic_compare_exchange(&future_,&blank,future_ptr(new detail::future_object<void>)); 1286 1316 } 1317 1318 #if defined(BOOST_INTEL) 1319 1320 #pragma pop_macro("atomic_load") 1321 #pragma pop_macro("atomic_compare_exchange") 1322 1323 #endif // #if defined(BOOST_INTEL) 1324 1287 1325 #endif 1288 1326 } 1289 1327 public: