summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2015-04-14 13:53:53 +0000
committerMarshall Clow <mclow.lists@gmail.com>2015-04-14 13:53:53 +0000
commitdaa4d45c0aa771b999df714a07234979e7746f83 (patch)
treeadb05e63ad89c2e602bee0ddf83731dc2fbbf0a6 /libcxx/test/std/utilities
parent5867a70057e0cc61d3793e9bea52b847c328ac68 (diff)
downloadbcm5719-llvm-daa4d45c0aa771b999df714a07234979e7746f83.tar.gz
bcm5719-llvm-daa4d45c0aa771b999df714a07234979e7746f83.zip
Qualify an internal call in is_assignable to prevent ADL lookup, which would 'complete' an type definition unnecessarily. Thanks to Richard Smith for the report.
llvm-svn: 234886
Diffstat (limited to 'libcxx/test/std/utilities')
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
index b46a4d6bcc6..d33019bcba9 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
@@ -49,6 +49,9 @@ struct E
};
#endif
+template <typename T>
+struct X { T t; };
+
int main()
{
test_is_assignable<int&, int&> ();
@@ -67,4 +70,7 @@ int main()
test_is_not_assignable<void, const void> ();
test_is_not_assignable<const void, const void> ();
test_is_not_assignable<int(), int> ();
+
+// pointer to incomplete template type
+ test_is_assignable<X<D>*&, X<D>*> ();
}
OpenPOWER on IntegriCloud