[build] switch to c++11
Conflicts: Makefile.in chunker/cache_stream.cc chunker/cache_stream.h thin-provisioning/thin_archive.cc thin-provisioning/thin_show_duplicates.cc unit-tests/Makefile.in
This commit is contained in:
		@@ -105,7 +105,7 @@ TOP_DIR:=@top_srcdir@
 | 
			
		||||
TOP_BUILDDIR:=@top_builddir@
 | 
			
		||||
CFLAGS+=-g -Wall -O3
 | 
			
		||||
CFLAGS+=@LFS_FLAGS@
 | 
			
		||||
CXXFLAGS+=-g -Wall -fno-strict-aliasing -std=gnu++98
 | 
			
		||||
CXXFLAGS+=-g -Wall -fno-strict-aliasing -std=c++11
 | 
			
		||||
CXXFLAGS+=@CXXOPTIMISE_FLAG@
 | 
			
		||||
CXXFLAGS+=@CXXDEBUG_FLAG@
 | 
			
		||||
CXXFLAGS+=@CXX_STRERROR_FLAG@
 | 
			
		||||
 
 | 
			
		||||
@@ -63,16 +63,16 @@ namespace {
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
std::auto_ptr<base::progress_monitor>
 | 
			
		||||
std::unique_ptr<base::progress_monitor>
 | 
			
		||||
base::create_progress_bar(std::string const &title)
 | 
			
		||||
{
 | 
			
		||||
	return auto_ptr<progress_monitor>(new progress_bar(title));
 | 
			
		||||
	return unique_ptr<progress_monitor>(new progress_bar(title));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
std::auto_ptr<base::progress_monitor>
 | 
			
		||||
std::unique_ptr<base::progress_monitor>
 | 
			
		||||
base::create_quiet_progress_monitor()
 | 
			
		||||
{
 | 
			
		||||
	return auto_ptr<progress_monitor>(new quiet_progress());
 | 
			
		||||
	return unique_ptr<progress_monitor>(new quiet_progress());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@ namespace base {
 | 
			
		||||
		virtual void update_percent(unsigned) = 0;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	std::auto_ptr<progress_monitor> create_progress_bar(std::string const &title);
 | 
			
		||||
	std::auto_ptr<progress_monitor> create_quiet_progress_monitor();
 | 
			
		||||
	std::unique_ptr<progress_monitor> create_progress_bar(std::string const &title);
 | 
			
		||||
	std::unique_ptr<progress_monitor> create_quiet_progress_monitor();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ xml_parser::parse(std::string const &backup_file, bool quiet)
 | 
			
		||||
	persistent_data::check_file_exists(backup_file);
 | 
			
		||||
	ifstream in(backup_file.c_str(), ifstream::in);
 | 
			
		||||
 | 
			
		||||
	std::auto_ptr<base::progress_monitor> monitor = create_monitor(quiet);
 | 
			
		||||
	std::unique_ptr<base::progress_monitor> monitor = create_monitor(quiet);
 | 
			
		||||
 | 
			
		||||
	size_t total = 0;
 | 
			
		||||
	size_t input_length = get_file_length(backup_file);
 | 
			
		||||
@@ -53,7 +53,7 @@ xml_parser::get_file_length(string const &file) const
 | 
			
		||||
	return info.st_size;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto_ptr<base::progress_monitor>
 | 
			
		||||
unique_ptr<base::progress_monitor>
 | 
			
		||||
xml_parser::create_monitor(bool quiet)
 | 
			
		||||
{
 | 
			
		||||
	if (!quiet && isatty(fileno(stdout)))
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ namespace xml_utils {
 | 
			
		||||
 | 
			
		||||
	private:
 | 
			
		||||
		size_t get_file_length(string const &file) const;
 | 
			
		||||
		auto_ptr<base::progress_monitor> create_monitor(bool quiet);
 | 
			
		||||
		unique_ptr<base::progress_monitor> create_monitor(bool quiet);
 | 
			
		||||
 | 
			
		||||
		XML_Parser parser_;
 | 
			
		||||
        };
 | 
			
		||||
 
 | 
			
		||||
@@ -305,7 +305,7 @@ block_cache::find_unused_clean_block()
 | 
			
		||||
		if (b.ref_count_)
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		block_set_.remove_node(b);
 | 
			
		||||
		b.unlink_set();
 | 
			
		||||
		b.unlink();
 | 
			
		||||
		return &b;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -117,6 +117,10 @@ namespace bcache {
 | 
			
		||||
					bc_->release(*this);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			void unlink_set() {
 | 
			
		||||
				set_hook_.unlink();
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			void unlink() {
 | 
			
		||||
				list_hook_.unlink();
 | 
			
		||||
			}
 | 
			
		||||
@@ -131,7 +135,7 @@ namespace bcache {
 | 
			
		||||
			void *data_;
 | 
			
		||||
 | 
			
		||||
			bi::list_member_hook<bi::link_mode<bi::auto_unlink>> list_hook_;
 | 
			
		||||
			bi::set_member_hook<> set_hook_;
 | 
			
		||||
			bi::set_member_hook<bi::link_mode<bi::auto_unlink>> set_hook_;
 | 
			
		||||
 | 
			
		||||
			unsigned ref_count_;
 | 
			
		||||
 | 
			
		||||
@@ -142,8 +146,6 @@ namespace bcache {
 | 
			
		||||
			validator::ptr v_;
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
<<<<<<< HEAD
 | 
			
		||||
=======
 | 
			
		||||
		struct cmp_index {
 | 
			
		||||
			bool operator()(block_address index, block const &b) const {
 | 
			
		||||
				return index > b.index_;
 | 
			
		||||
@@ -192,7 +194,6 @@ namespace bcache {
 | 
			
		||||
			block *b_;
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
>>>>>>> 7fadc34... [block-cache] convert to use boost::intrusive rather than kernel style lists.
 | 
			
		||||
		//--------------------------------
 | 
			
		||||
 | 
			
		||||
		block_cache(int fd, sector_t block_size,
 | 
			
		||||
@@ -282,7 +283,7 @@ namespace bcache {
 | 
			
		||||
		block_list io_pending_;
 | 
			
		||||
 | 
			
		||||
		typedef bi::member_hook<block,
 | 
			
		||||
					bi::set_member_hook<>,
 | 
			
		||||
					bi::set_member_hook<bi::link_mode<bi::auto_unlink>>,
 | 
			
		||||
					&block::set_hook_> block_option;
 | 
			
		||||
		typedef bi::set<block, block_option,
 | 
			
		||||
				bi::constant_time_size<false>> block_set;
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ namespace {
 | 
			
		||||
		return info.st_size;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	auto_ptr<progress_monitor> create_monitor(bool quiet) {
 | 
			
		||||
	unique_ptr<progress_monitor> create_monitor(bool quiet) {
 | 
			
		||||
		if (!quiet && isatty(fileno(stdout)))
 | 
			
		||||
			return create_progress_bar("Restoring");
 | 
			
		||||
		else
 | 
			
		||||
@@ -70,7 +70,7 @@ namespace {
 | 
			
		||||
			check_file_exists(*fs.input);
 | 
			
		||||
			ifstream in(fs.input->c_str(), ifstream::in);
 | 
			
		||||
 | 
			
		||||
			auto_ptr<progress_monitor> monitor = create_monitor(fs.quiet);
 | 
			
		||||
			unique_ptr<progress_monitor> monitor = create_monitor(fs.quiet);
 | 
			
		||||
			parse_xml(in, restorer, get_file_length(*fs.input), *monitor);
 | 
			
		||||
 | 
			
		||||
		} catch (std::exception &e) {
 | 
			
		||||
 
 | 
			
		||||
@@ -142,7 +142,7 @@ namespace {
 | 
			
		||||
		bool device_exists(thin_dev_t dev) const {
 | 
			
		||||
			uint64_t key[1] = {dev};
 | 
			
		||||
			device_tree::maybe_value v = md_->details_->lookup(key);
 | 
			
		||||
			return v;
 | 
			
		||||
			return !!v;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		metadata::ptr md_;
 | 
			
		||||
 
 | 
			
		||||
@@ -232,7 +232,7 @@ bool
 | 
			
		||||
thin_pool::device_exists(thin_dev_t dev) const
 | 
			
		||||
{
 | 
			
		||||
	uint64_t key[1] = {dev};
 | 
			
		||||
	return md_->details_->lookup(key);
 | 
			
		||||
	return !!md_->details_->lookup(key);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -129,7 +129,7 @@ TEST_F(BtreeTests, insert_works)
 | 
			
		||||
		tree->insert(key, value);
 | 
			
		||||
 | 
			
		||||
		btree<1, uint64_traits>::maybe_value l = tree->lookup(key);
 | 
			
		||||
		ASSERT_TRUE(l);
 | 
			
		||||
		ASSERT_TRUE(!!l);
 | 
			
		||||
		ASSERT_THAT(*l, Eq(i));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -153,7 +153,7 @@ TEST_F(BtreeTests, insert_does_not_insert_imaginary_values)
 | 
			
		||||
	tree->insert(key, value);
 | 
			
		||||
 | 
			
		||||
	l = tree->lookup(key);
 | 
			
		||||
	ASSERT_TRUE(l);
 | 
			
		||||
	ASSERT_TRUE(!!l);
 | 
			
		||||
	ASSERT_THAT(*l, Eq(100u));
 | 
			
		||||
 | 
			
		||||
	key[0] = 1;
 | 
			
		||||
@@ -183,7 +183,7 @@ TEST_F(BtreeTests, clone)
 | 
			
		||||
		uint64_t value = i * 7;
 | 
			
		||||
 | 
			
		||||
		l = tree->lookup(key);
 | 
			
		||||
		ASSERT_TRUE(l);
 | 
			
		||||
		ASSERT_TRUE(!!l);
 | 
			
		||||
		ASSERT_THAT(*l, Eq(value));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -200,11 +200,11 @@ TEST_F(BtreeTests, clone)
 | 
			
		||||
		uint64_t value = i * 7;
 | 
			
		||||
 | 
			
		||||
		l = tree->lookup(key);
 | 
			
		||||
		ASSERT_TRUE(l);
 | 
			
		||||
		ASSERT_TRUE(!!l);
 | 
			
		||||
		ASSERT_THAT(*l, Eq(value));
 | 
			
		||||
 | 
			
		||||
		l = copy->lookup(key);
 | 
			
		||||
		ASSERT_TRUE(l);
 | 
			
		||||
		ASSERT_TRUE(!!l);
 | 
			
		||||
		ASSERT_THAT(*l, Eq(value));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -216,7 +216,7 @@ TEST_F(BtreeTests, clone)
 | 
			
		||||
		ASSERT_FALSE(l);
 | 
			
		||||
 | 
			
		||||
		l = copy->lookup(key);
 | 
			
		||||
		ASSERT_TRUE(l);
 | 
			
		||||
		ASSERT_TRUE(!!l);
 | 
			
		||||
		ASSERT_THAT(*l, Eq(value));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ namespace {
 | 
			
		||||
 | 
			
		||||
TEST_F(RunSetTests, create)
 | 
			
		||||
{
 | 
			
		||||
	auto_ptr<run_set<unsigned> > rs(new run_set<unsigned>());
 | 
			
		||||
	unique_ptr<run_set<unsigned> > rs(new run_set<unsigned>());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(RunSetTests, add_single_blocks)
 | 
			
		||||
 
 | 
			
		||||
@@ -101,7 +101,7 @@ namespace {
 | 
			
		||||
 | 
			
		||||
			for (unsigned i = 0; i < NR_BLOCKS; i++) {
 | 
			
		||||
				boost::optional<block_address> mb = sm->new_block();
 | 
			
		||||
				ASSERT_TRUE(mb);
 | 
			
		||||
				ASSERT_TRUE(!!mb);
 | 
			
		||||
				ASSERT_THAT(sm->get_nr_free(), Eq(NR_BLOCKS - i - 1));
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@@ -137,7 +137,7 @@ namespace {
 | 
			
		||||
 | 
			
		||||
		void test_not_allocated_twice(space_map::ptr sm) {
 | 
			
		||||
			boost::optional<block_address> mb = sm->new_block();
 | 
			
		||||
			ASSERT_TRUE(mb);
 | 
			
		||||
			ASSERT_TRUE(!!mb);
 | 
			
		||||
 | 
			
		||||
			for (;;) {
 | 
			
		||||
				boost::optional<block_address> b = sm->new_block();
 | 
			
		||||
 
 | 
			
		||||
@@ -111,7 +111,7 @@ namespace test {
 | 
			
		||||
				throw std::runtime_error("system failed");
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		std::auto_ptr<with_directory> dir_;
 | 
			
		||||
		std::unique_ptr<with_directory> dir_;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	//--------------------------------
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user