This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
c++11 / unique_ptr with packaged_task
- From: NightStrike <nightstrike at gmail dot com>
- To: gcc-help <gcc-help at gcc dot gnu dot org>
- Cc: zao at acc dot umu dot se
- Date: Thu, 28 Feb 2013 20:21:58 -1000
- Subject: c++11 / unique_ptr with packaged_task
This code compiles with clang/libc++, but doesn't with gcc4.8/libstdc++:
#include <functional>
#include <future>
#include <iostream>
#include <memory>
#include <ostream>
struct S
{
void f()
{
std::cerr << "Meep meep\n";
}
};
int main()
{
std::unique_ptr<S> sp(new S);
std::packaged_task<void ()> pt(std::bind(&S::f, std::move(sp)));
pt();
std::cerr << "sp is empty: " << std::boolalpha << !sp << std::endl;
}
Is that a bug in gcc?