diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-03-21 22:56:43 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-03-21 22:56:43 +0000 |
commit | 568586ff227d06d6670da11e503506eab6ed3b23 (patch) | |
tree | aae9ebd6fe2f629910bb97a6d82701f175b42b6f /clang/test/SemaCXX/PR6618.cpp | |
parent | b41ca8f2aeb085306fc8c1027fa621ce0a398fdc (diff) | |
download | bcm5719-llvm-568586ff227d06d6670da11e503506eab6ed3b23.tar.gz bcm5719-llvm-568586ff227d06d6670da11e503506eab6ed3b23.zip |
Fix PR6618.
If a struct has an invalid field, mark it as invalid. Also avoid producing
errors about incomplete types that are invalid.
llvm-svn: 99150
Diffstat (limited to 'clang/test/SemaCXX/PR6618.cpp')
-rw-r--r-- | clang/test/SemaCXX/PR6618.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/PR6618.cpp b/clang/test/SemaCXX/PR6618.cpp new file mode 100644 index 00000000000..10d4dc87b0a --- /dev/null +++ b/clang/test/SemaCXX/PR6618.cpp @@ -0,0 +1,13 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +class bar; // expected-note {{forward declaration of 'bar'}} +struct zed { + bar g; // expected-error {{field has incomplete type}} +}; +class baz { + zed h; +}; +void f() { + enum { + e = sizeof(baz) + }; +} |