From eea4e2cc87b80c35b33f46377187181e57692440 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Mon, 2 Feb 2015 14:37:28 +0100 Subject: [PATCH] Enable C++11 --- buildtools/Cmake/Flags.cmake | 18 ++++++++++++++++-- src/mc/mc_page_store.cpp | 2 +- src/surf/network_ib.cpp | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/buildtools/Cmake/Flags.cmake b/buildtools/Cmake/Flags.cmake index 0dddf61588..27aa988d29 100644 --- a/buildtools/Cmake/Flags.cmake +++ b/buildtools/Cmake/Flags.cmake @@ -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") diff --git a/src/mc/mc_page_store.cpp b/src/mc/mc_page_store.cpp index f2c01ee92e..222f3a7eff 100644 --- a/src/mc/mc_page_store.cpp +++ b/src/mc/mc_page_store.cpp @@ -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 store = std::auto_ptr(new s_mc_pages_store(500)); + std::unique_ptr store = std::unique_ptr(new s_mc_pages_store(500)); void* data = getpage(); xbt_test_assert(store->size()==0, "Bad size"); diff --git a/src/surf/network_ib.cpp b/src/surf/network_ib.cpp index de303c931d..9c9854c7a7 100644 --- a/src/surf/network_ib.cpp +++ b/src/surf/network_ib.cpp @@ -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(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); -- 2.20.1