summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-05-15 21:56:04 +0000
committerDouglas Gregor <dgregor@apple.com>2009-05-15 21:56:04 +0000
commit3daa82dba01b3964f31c15c8af231e5bcccb4523 (patch)
tree9415c39ff142fd0cfa40f1c242fd69980b8583fd /clang/test
parent19573e7d29eda4e4c20d1df1bdc5df53ae8136db (diff)
downloadbcm5719-llvm-3daa82dba01b3964f31c15c8af231e5bcccb4523.tar.gz
bcm5719-llvm-3daa82dba01b3964f31c15c8af231e5bcccb4523.zip
Template instantiation for do-while statements.
llvm-svn: 71899
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaTemplate/instantiate-function-1.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/instantiate-function-1.cpp b/clang/test/SemaTemplate/instantiate-function-1.cpp
index 3b88700c540..6da25e5984c 100644
--- a/clang/test/SemaTemplate/instantiate-function-1.cpp
+++ b/clang/test/SemaTemplate/instantiate-function-1.cpp
@@ -98,3 +98,17 @@ template<typename T> struct While0 {
};
template struct While0<float>;
+
+template<typename T> struct Do0 {
+ void f(T t) {
+ do {
+ } while (t); // expected-error{{not contextually}}
+
+ do {
+ } while (T t2 = T());
+ }
+};
+
+struct NotConvertibleToBool { };
+template struct Do0<ConvertibleToInt>;
+template struct Do0<NotConvertibleToBool>; // expected-note{{instantiation}}
OpenPOWER on IntegriCloud