summaryrefslogtreecommitdiffstats
path: root/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp
diff options
context:
space:
mode:
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.cpp20
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) {