[Sun C++ 5.9] ICE during overload selection -------------------------------------------
Key: STDCXX-1003 URL: https://issues.apache.org/jira/browse/STDCXX-1003 Project: C++ Standard Library Issue Type: Bug Components: External Environment: SunOS marbles 5.10 Generic_118855-33 i86pc i386 i86pc CC: Sun C++ 5.9 SunOS_i386 Patch 124864-01 2007/07/25 Reporter: Travis Vitek {noformat} $ cat t.cpp && CC t.cpp template <class B, class D> struct __is_base_of { struct __no { }; struct __yes { __no __pad [2]; }; template <class T> static __yes __is (const volatile D&, T); static __no __is (const volatile B&, int); struct __nest { operator const volatile B& () const; operator const volatile D& (); }; enum { value = sizeof (__yes) == sizeof (__is (__nest (), 0)) }; }; extern "C" int printf (const char*, ...); struct B { }; struct D : B { }; int main ( int argc, char * argv [ ] ) { #define test(X) printf ("%s = %d\n", #X, X) test ((__is_base_of<B, D>::value)); test ((__is_base_of<B, B>::value)); test ((__is_base_of<D, D>::value)); return 0; } >> Assertion: (../lnk/tmplmatchargs.cc, line 193) while processing t.cpp at line 32. {noformat} Filed with Sun as bug [#6728467|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6728467]. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.