[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-16 Thread d dot frey at gmx dot de
--- Comment #27 from d dot frey at gmx dot de 2009-03-16 19:08 --- Thanks Paolo. I've opened PR c++/39475 for the type traits intrinsics. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39405

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-14 Thread d dot frey at gmx dot de
--- Comment #22 from d dot frey at gmx dot de 2009-03-14 08:52 --- (In reply to comment #21) Now I think I know the conservative way we want to go for the branch: just change shared_ptr::operator* to always use something with the same semantics of std::tr1::add_reference. For

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-14 Thread d dot frey at gmx dot de
--- Comment #23 from d dot frey at gmx dot de 2009-03-14 08:53 --- Created an attachment (id=17463) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17463action=view) show inconsistency with is_abstract -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39405

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-14 Thread paolo dot carlini at oracle dot com
--- Comment #24 from paolo dot carlini at oracle dot com 2009-03-14 12:06 --- I agree with your analysis. Can you please open a separate PR about __is_abstract (which would be a C++ report): currently, we are trying to complete the types, but we do not error out in case of

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-14 Thread paolo at gcc dot gnu dot org
--- Comment #25 from paolo at gcc dot gnu dot org 2009-03-15 00:44 --- Subject: Bug 39405 Author: paolo Date: Sun Mar 15 00:43:46 2009 New Revision: 144867 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=144867 Log: 2009-03-14 Paolo Carlini paolo.carl...@oracle.com PR

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-14 Thread paolo dot carlini at oracle dot com
--- Comment #26 from paolo dot carlini at oracle dot com 2009-03-15 00:54 --- This specific issue is fixed in 4_3-branch. -- paolo dot carlini at oracle dot com changed: What|Removed |Added

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo dot carlini at oracle dot com
-- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Component|c++ |libstdc++

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo at gcc dot gnu dot org
--- Comment #14 from paolo at gcc dot gnu dot org 2009-03-13 15:02 --- Subject: Bug 39405 Author: paolo Date: Fri Mar 13 15:01:50 2009 New Revision: 144839 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=144839 Log: 2009-03-13 Paolo Carlini paolo.carl...@oracle.com PR

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo dot carlini at oracle dot com
-- paolo dot carlini at oracle dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |paolo dot carlini at oracle |dot org

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread rguenth at gcc dot gnu dot org
--- Comment #15 from rguenth at gcc dot gnu dot org 2009-03-13 15:17 --- I can confirm this is a regression on the branch. As this is with -std=gnu++0x only it does not qualify for P1 IMHO. Still it would of course be nice to have a fix (that does not risk to regress elsewhere of

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo dot carlini at oracle dot com
--- Comment #16 from paolo dot carlini at oracle dot com 2009-03-13 16:02 --- Note, just tweaking is_function like this, doesn't completely fix the issue for me, only the reduced testcase using is_abstract... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39405

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread d dot frey at gmx dot de
--- Comment #17 from d dot frey at gmx dot de 2009-03-13 16:41 --- (In reply to comment #16) Note, just tweaking is_function like this, doesn't completely fix the issue for me, only the reduced testcase using is_abstract... And actually I don't even understand why it works even in

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo dot carlini at oracle dot com
--- Comment #18 from paolo dot carlini at oracle dot com 2009-03-13 16:54 --- This is going out of control ;) What do you think about committing to the branch something like the patch which I'm going to attach now? Probably we can decouple the C++ issue... --

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo dot carlini at oracle dot com
--- Comment #19 from paolo dot carlini at oracle dot com 2009-03-13 16:54 --- Created an attachment (id=17460) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17460action=view) draft for 4_3-branch -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39405

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo dot carlini at oracle dot com
--- Comment #20 from paolo dot carlini at oracle dot com 2009-03-13 17:37 --- unfortunately, there are interactions with libstdc++/39310... I'm going to ping a resolution in mainline of the latter. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39405

[Bug libstdc++/39405] [4.3 regression] std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts

2009-03-13 Thread paolo dot carlini at oracle dot com
--- Comment #21 from paolo dot carlini at oracle dot com 2009-03-13 18:32 --- Now I think I know the conservative way we want to go for the branch: just change shared_ptr::operator* to always use something with the same semantics of std::tr1::add_reference. For mainline, we'll see if