summaryrefslogtreecommitdiffstats
path: root/test/CodeGenObjCXX/encode.mm
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenObjCXX/encode.mm')
-rw-r--r--test/CodeGenObjCXX/encode.mm23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGenObjCXX/encode.mm b/test/CodeGenObjCXX/encode.mm
index 1b6a241..075d790 100644
--- a/test/CodeGenObjCXX/encode.mm
+++ b/test/CodeGenObjCXX/encode.mm
@@ -201,3 +201,26 @@ struct Y : Empty {
// CHECK: @g8 = constant [14 x i8] c"{Y={X=[10i]}}\00"
extern const char g8[] = @encode(Y);
+
+
+class dynamic_class {
+public:
+ virtual ~dynamic_class();
+};
+@interface has_dynamic_class_ivar
+@end
+@implementation has_dynamic_class_ivar {
+ dynamic_class dynamic_class_ivar;
+}
+@end
+// CHECK: internal global [41 x i8] c"{dynamic_class=\22_vptr$dynamic_class\22^^?}\00"
+
+namespace PR17142 {
+ struct A { virtual ~A(); };
+ struct B : virtual A { int y; };
+ struct C { virtual ~C(); int z; };
+ struct D : C, B { int a; };
+ struct E : D {};
+ // CHECK: @_ZN7PR171421xE = constant [14 x i8] c"{E=^^?i^^?ii}\00"
+ extern const char x[] = @encode(E);
+}
OpenPOWER on IntegriCloud