Fix use of C++11 extensions in C++03 code.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@228698 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2015-02-10 15:17:46 +00:00
parent 062d0a6dfc
commit f17cecb13f
3 changed files with 12 additions and 10 deletions

View File

@@ -82,9 +82,11 @@ int main()
assert(f); assert(f);
assert(f.target<int (A::*)(int) const>() != 0); assert(f.target<int (A::*)(int) const>() != 0);
} }
#if __cplusplus >= 201103L
{ {
Foo f; Foo f;
std::function<void(int)> fun = std::bind(&Foo::bar, &f, std::placeholders::_1); std::function<void(int)> fun = std::bind(&Foo::bar, &f, std::placeholders::_1);
fun(10); fun(10);
} }
#endif
} }

View File

@@ -79,7 +79,7 @@ int main()
assert(globalMemCounter.checkOutstandingNewEq(0)); assert(globalMemCounter.checkOutstandingNewEq(0));
{ {
assert(globalMemCounter.checkOutstandingNewEq(0)); assert(globalMemCounter.checkOutstandingNewEq(0));
non_default_test_allocator<std::function<int(int)>> al(1); non_default_test_allocator<std::function<int(int)> > al(1);
std::function<int(int)> f2(std::allocator_arg, al, g); std::function<int(int)> f2(std::allocator_arg, al, g);
assert(globalMemCounter.checkOutstandingNewEq(0)); assert(globalMemCounter.checkOutstandingNewEq(0));
assert(f2.target<int(*)(int)>()); assert(f2.target<int(*)(int)>());

View File

@@ -19,7 +19,7 @@ class MemCounter
public: public:
// Make MemCounter super hard to accidentally construct or copy. // Make MemCounter super hard to accidentally construct or copy.
class MemCounterCtorArg_ {}; class MemCounterCtorArg_ {};
explicit MemCounter(MemCounterCtorArg_) {} explicit MemCounter(MemCounterCtorArg_) { reset(); }
private: private:
MemCounter(MemCounter const &); MemCounter(MemCounter const &);
@@ -29,15 +29,15 @@ public:
// All checks return true when disable_checking is enabled. // All checks return true when disable_checking is enabled.
static const bool disable_checking; static const bool disable_checking;
int outstanding_new = 0; int outstanding_new;
int new_called = 0; int new_called;
int delete_called = 0; int delete_called;
int last_new_size = 0; int last_new_size;
int outstanding_array_new = 0; int outstanding_array_new;
int new_array_called = 0; int new_array_called;
int delete_array_called = 0; int delete_array_called;
int last_new_array_size = 0; int last_new_array_size;
public: public:
void newCalled(std::size_t s) void newCalled(std::size_t s)