This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/50864] [4.6/4.7 Regression] ICE with decltype and "declval" from another namespace
- From: "paolo.carlini at oracle dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 25 Oct 2011 17:04:41 +0000
- Subject: [Bug c++/50864] [4.6/4.7 Regression] ICE with decltype and "declval" from another namespace
- Auto-submitted: auto-generated
- References: <bug-50864-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50864
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|ice-on-invalid-code |ice-on-valid-code
Status|WAITING |NEW
CC| |jason at gcc dot gnu.org
Summary|SFINAE bug |[4.6/4.7 Regression] ICE
| |with decltype and "declval"
| |from another namespace
--- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-10-25 17:04:41 UTC ---
Ok, this way at least part of the issue is more clear: the below doesn't parse,
remove the impl namespace and it works:
/////////////////
namespace impl
{
template <class T> T create();
}
template < class lhs, class rhs >
struct is_arrow_operable_impl
{
template <class T, class U,
class = decltype(impl::create<T>() -> impl::create<U>())>
void test();
};