changeset 3637:e5033c157bc8 draft

Backport Win32 LevelDB env from C++0x to C++ Since the gitian mingw compiler doesn't support C++0x yet.
author Pieter Wuille <pieter.wuille@gmail.com>
date Tue, 04 Sep 2012 23:01:03 +0200
parents 4343eaacb7ad
children 4c31c15d73af
files src/leveldb/build_detect_platform src/leveldb/port/port_win.cc src/leveldb/port/port_win.h src/leveldb/util/env_boost.cc
diffstat 4 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/leveldb/build_detect_platform
+++ b/src/leveldb/build_detect_platform
@@ -112,7 +112,7 @@
     OS_WINDOWS_CROSSCOMPILE)
         PLATFORM=OS_WINDOWS
         COMMON_FLAGS="-fno-builtin-memcmp -D_REENTRANT -DOS_WINDOWS -DLEVELDB_PLATFORM_WINDOWS -DBOOST_THREAD_USE_LIB"
-        PLATFORM_CXXFLAGS="-std=c++0x"
+        PLATFORM_CXXFLAGS=""
         PLATFORM_LDFLAGS=""
         PLATFORM_SHARED_CFLAGS=""
         PLATFORM_SOURCES="port/port_win.cc util/env_boost.cc util/win_logger.cc"
--- a/src/leveldb/port/port_win.cc
+++ b/src/leveldb/port/port_win.cc
@@ -134,7 +134,7 @@
 }
 
 void* AtomicPointer::Acquire_Load() const {
-  void * p = nullptr;
+  void * p = NULL;
   InterlockedExchangePointer(&p, rep_);
   return p;
 }
@@ -160,7 +160,7 @@
 
 void InitOnce(OnceType* once, void (*initializer)()) {
 
-  static_assert(Uninitialized == LEVELDB_ONCE_INIT, "Invalid uninitialized state value");
+  assert(Uninitialized == LEVELDB_ONCE_INIT);
 
   InitializationState state = static_cast<InitializationState>(InterlockedCompareExchange(once, Running, Uninitialized));
 
--- a/src/leveldb/port/port_win.h
+++ b/src/leveldb/port/port_win.h
@@ -104,7 +104,7 @@
  private:
   void * rep_;
  public:
-  AtomicPointer() : rep_(nullptr) { }
+  AtomicPointer() : rep_(NULL) { }
   explicit AtomicPointer(void* v); 
   void* Acquire_Load() const;
 
--- a/src/leveldb/util/env_boost.cc
+++ b/src/leveldb/util/env_boost.cc
@@ -401,7 +401,7 @@
 
       boost::interprocess::file_lock fl(fname.c_str());
       BoostFileLock * my_lock = new BoostFileLock();
-      my_lock->fl_ = std::move(fl);
+      fl.swap(my_lock->fl_);
       if (!my_lock->fl_.try_lock()) {
           return Status::IOError("database already in use: could not acquire exclusive lock");
       }