summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/temp/temp.fct.spec
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-08-22 00:34:47 +0000
committerDouglas Gregor <dgregor@apple.com>2009-08-22 00:34:47 +0000
commitc45a40afd1f977a40315022b2b70e801d6e1fceb (patch)
tree99ff705746bcb5084d782de5ed31b0f901f7a65f /clang/test/CXX/temp/temp.fct.spec
parent8e2456c2542fc030c0a09707b28902dfcb545a81 (diff)
downloadbcm5719-llvm-c45a40afd1f977a40315022b2b70e801d6e1fceb.tar.gz
bcm5719-llvm-c45a40afd1f977a40315022b2b70e801d6e1fceb.zip
Implement delayed parsing for member function templates. Fixes PR4608.
llvm-svn: 79709
Diffstat (limited to 'clang/test/CXX/temp/temp.fct.spec')
-rw-r--r--clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp b/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp
index 439afa8c04a..50d31fb2f85 100644
--- a/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp
+++ b/clang/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) {
OpenPOWER on IntegriCloud