aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-04-27 04:31:46 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-04-27 04:31:46 +0000
commitd601c62ad49ddc2593dfeb3d777ad8baf4ab6acb (patch)
treea69fbec3ae1e0d93201cd1a0f90c1835a5dc9b06
parentc8f11e9b4b627a85aa83f74474327254d958cf8d (diff)
Add test case for rdar://11293995
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155690 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/SemaCXX/invalid-member-expr.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/SemaCXX/invalid-member-expr.cpp b/test/SemaCXX/invalid-member-expr.cpp
index 287d9af130..87da79a27c 100644
--- a/test/SemaCXX/invalid-member-expr.cpp
+++ b/test/SemaCXX/invalid-member-expr.cpp
@@ -37,3 +37,34 @@ namespace test3 {
string::iterator i = s.foo(); // expected-error {{no member named 'foo'}}
}
}
+
+
+// Make sure we don't crash.
+namespace rdar11293995 {
+
+struct Length {
+ explicit Length(PassRefPtr<CalculationValue>); // expected-error {{unknown type name}} \
+ expected-error {{expected ')'}} \
+ expected-note {{to match this '('}}
+};
+
+struct LengthSize {
+ Length m_width;
+ Length m_height;
+};
+
+enum EFillSizeType { Contain, Cover, SizeLength, SizeNone };
+
+struct FillSize {
+ EFillSizeType type;
+ LengthSize size;
+};
+
+class FillLayer {
+public:
+ void setSize(FillSize f) { m_sizeType = f.type;}
+private:
+ unsigned m_sizeType : 2;
+};
+
+}