http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49274
Summary: Regression: unique_ptr needs full definition of map
type
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c++
AssignedTo: [email protected]
ReportedBy: [email protected]
Created attachment 24420
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24420
Error message for gcc -std=c++0x -c foo.cpp
This code no longer compiles with gcc-4.7-20110528:
#include <memory>
#include <map>
using namespace std;
struct Foo {
Foo(const Foo&) = delete;
Foo&operator=(const Foo&) = delete;
struct CMP;
~Foo();
unique_ptr<map< int, int,CMP> > cmp;
};
The compilation is:
gcc -std=c++0x -c foo.cpp
ray@jupiter:~/tmp> gcc --version
gcc (GCC) 4.7.0 20110528 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I've attached the error message.