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: unassig...@gcc.gnu.org
        ReportedBy: merk...@comcast.net


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.

Reply via email to