aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/typeid.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-12-23 21:06:06 +0000
committerDouglas Gregor <dgregor@apple.com>2009-12-23 21:06:06 +0000
commit765ccba920269eefbf572ec4bcd6ac7b6e9f9f77 (patch)
tree6afe94d058d9f1cc9e269baabf8c832a6c185318 /test/SemaCXX/typeid.cpp
parent520ad5f7bcbf66a9ef2f6b25e719cbdbcc5534f3 (diff)
Diagnose the use of incomplete types in C++ typeid expressions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92045 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/typeid.cpp')
-rw-r--r--test/SemaCXX/typeid.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/SemaCXX/typeid.cpp b/test/SemaCXX/typeid.cpp
index 4340310575..7960cac783 100644
--- a/test/SemaCXX/typeid.cpp
+++ b/test/SemaCXX/typeid.cpp
@@ -14,3 +14,11 @@ void g()
{
(void)typeid(int);
}
+
+struct X; // expected-note 3{{forward declaration}}
+
+void g1(X &x) {
+ (void)typeid(X); // expected-error{{'typeid' of incomplete type 'struct X'}}
+ (void)typeid(X&); // expected-error{{'typeid' of incomplete type 'struct X'}}
+ (void)typeid(x); // expected-error{{'typeid' of incomplete type 'struct X'}}
+}