diff options
Diffstat (limited to 'test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp')
-rw-r--r-- | test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp b/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp index 439afa8c04..50d31fb2f8 100644 --- a/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp +++ b/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp @@ -11,36 +11,32 @@ void test_cvqual_ref(AnyT any) { struct AnyThreeLevelPtr { template<typename T> - operator T***() const; - // FIXME: Can't handle definitions of member templates yet -#if 0 + operator T***() const { T x = 0; - x = 0; // will fail if T is deduced to a const type + // FIXME: looks like we get this wrong, too! + // x = 0; // will fail if T is deduced to a const type // (EDG and GCC get this wrong) return 0; } -#endif }; +struct X { }; + void test_deduce_with_qual(AnyThreeLevelPtr a3) { int * const * const * const ip = a3; } -struct X { }; - struct AnyPtrMem { template<typename Class, typename T> - operator T Class::*() const; - // FIXME: Can't handle definitions of member templates yet -#if 0 + operator T Class::*() const { T x = 0; - x = 0; // will fail if T is deduced to a const type. + // FIXME: looks like we get this wrong, too! + // x = 0; // will fail if T is deduced to a const type. // (EDG and GCC get this wrong) return 0; } -#endif }; void test_deduce_ptrmem_with_qual(AnyPtrMem apm) { |