This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/49274] [4.6/4.7 Regression] unique_ptr needs full definition of map type
- From: "redi at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 3 Jun 2011 11:20:00 +0000
- Subject: [Bug c++/49274] [4.6/4.7 Regression] unique_ptr needs full definition of map type
- Auto-submitted: auto-generated
- References: <bug-49274-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49274
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at gcc dot gnu.org
Component|libstdc++ |c++
Known to work| |4.4.5, 4.5.0
Summary|Regression: unique_ptr |[4.6/4.7 Regression]
|needs full definition of |unique_ptr needs full
|map type |definition of map type
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-06-03 11:19:59 UTC ---
reduced, with no library or c++0x dependencies:
struct incomplete;
template<typename T>
struct cont
{
T t;
};
template<typename> struct complete { };
int main()
{
complete<cont<incomplete>> c;
c = c;
}
which works prior to 4.6, and with EDG and clang
with 4.6 and later the assignment requires cont<incomplete> to be complete,
even though it is unused in complete.
In the original testcase that causes is_assignable to instantiate
map<int,int,CMP>
Jason, could you take a look?
Possibly the same issue as PR 49107