diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-12-23 21:06:06 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-12-23 21:06:06 +0000 |
commit | 765ccba920269eefbf572ec4bcd6ac7b6e9f9f77 (patch) | |
tree | 6afe94d058d9f1cc9e269baabf8c832a6c185318 /test/SemaCXX/typeid.cpp | |
parent | 520ad5f7bcbf66a9ef2f6b25e719cbdbcc5534f3 (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.cpp | 8 |
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'}} +} |