Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enable C++11
authorGabriel Corona <gabriel.corona@loria.fr>
Mon, 2 Feb 2015 13:37:28 +0000 (14:37 +0100)
committerGabriel Corona <gabriel.corona@loria.fr>
Mon, 2 Feb 2015 13:37:28 +0000 (14:37 +0100)
buildtools/Cmake/Flags.cmake
src/mc/mc_page_store.cpp
src/surf/network_ib.cpp

index 0dddf61..27aa988 100644 (file)
@@ -1,9 +1,23 @@
 set(warnCFLAGS "")
 set(optCFLAGS "")
 
+include(CheckCXXCompilerFlag)
+
+if(NOT __VISUALC__ AND NOT __BORLANDC__)
+  CHECK_CXX_COMPILER_FLAG("-std=c++11" HAVE_CXX11)
+  CHECK_CXX_COMPILER_FLAG("-std=c++0x" HAVE_CXX0X)
+  if(HAVE_CXX11)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+  elseif(HAVE_CXX0X)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+  else()
+    message(STATUS "Missing support for C++11.")
+  endif()
+endif()
+
 if(NOT __VISUALC__ AND NOT __BORLANDC__)
-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-std=gnu99 -g3")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-g3")
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -g3")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
   set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g")
 else()
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}/Zi")
index f2c01ee..222f3a7 100644 (file)
@@ -238,7 +238,7 @@ XBT_TEST_UNIT("base", test_mc_page_store, "Test adding/removing pages in the sto
 {
   xbt_test_add("Init");
   size_t pagesize = (size_t) getpagesize();
-  std::auto_ptr<s_mc_pages_store_t> store = std::auto_ptr<s_mc_pages_store_t>(new s_mc_pages_store(500));
+  std::unique_ptr<s_mc_pages_store_t> store = std::unique_ptr<s_mc_pages_store_t>(new s_mc_pages_store(500));
   void* data = getpage();
   xbt_test_assert(store->size()==0, "Bad size");
 
index de303c9..9c9854c 100644 (file)
@@ -51,7 +51,7 @@ static void IB_action_init_callback(NetworkActionPtr action,RoutingEdgePtr src,
     xbt_die("could not find dst node active comms !");  
  // act_dst->rate=rate;
   
-  ((NetworkIBModel*)surf_network_model)->active_comms[action]=make_pair<IBNode*,IBNode*>(act_src, act_dst);
+  ((NetworkIBModel*)surf_network_model)->active_comms[action]=make_pair(act_src, act_dst);
   //post the action in the second dist, to retrieve in the other callback
   XBT_DEBUG("IB callback - action %p init", action);