aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/static-cast-complete-type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/static-cast-complete-type.cpp')
-rw-r--r--test/SemaCXX/static-cast-complete-type.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/SemaCXX/static-cast-complete-type.cpp b/test/SemaCXX/static-cast-complete-type.cpp
new file mode 100644
index 000000000000..83583a5adf8e
--- /dev/null
+++ b/test/SemaCXX/static-cast-complete-type.cpp
@@ -0,0 +1,13 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+template<typename T> struct S {
+ S(int);
+};
+
+struct T; // expected-note{{forward declaration of 'struct T'}}
+
+void f() {
+ S<int> s0 = static_cast<S<int> >(0);
+ S<void*> s1 = static_cast<S<void*> >(00);
+
+ (void)static_cast<T>(10); // expected-error{{'struct T' is an incomplete type}}
+}