summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjCXX/encode.mm
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-08-22 16:03:14 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-08-22 16:03:14 +0000
commitc7e50c5cbd7a5e66b2ca8a3a7f92787aac6e11dc (patch)
tree14fbe1b62dc54a78030446f9b19cb57c390d4038 /clang/test/CodeGenObjCXX/encode.mm
parent8d382dc781d408ff88f3092215b5889a2e7899d3 (diff)
downloadbcm5719-llvm-c7e50c5cbd7a5e66b2ca8a3a7f92787aac6e11dc.tar.gz
bcm5719-llvm-c7e50c5cbd7a5e66b2ca8a3a7f92787aac6e11dc.zip
Fix a bug in objc @encoding of C++ classes.
llvm-svn: 138235
Diffstat (limited to 'clang/test/CodeGenObjCXX/encode.mm')
-rw-r--r--clang/test/CodeGenObjCXX/encode.mm21
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjCXX/encode.mm b/clang/test/CodeGenObjCXX/encode.mm
index 2c10fbcb975..677f5e2a7c4 100644
--- a/clang/test/CodeGenObjCXX/encode.mm
+++ b/clang/test/CodeGenObjCXX/encode.mm
@@ -105,6 +105,27 @@ namespace rdar9624314 {
const char g2[] = @encode(S2);
}
+namespace test {
+ class Foo {
+ public:
+ virtual void f() {};
+ };
+
+ class Bar {
+ public:
+ virtual void g() {};
+ };
+
+ class Zoo : virtual public Foo, virtual public Bar {
+ public:
+ int x;
+ int y;
+ };
+
+ // CHECK: @_ZN4testL3ecdE = internal constant [15 x i8] c"{Zoo=^^?ii^^?}\00"
+ const char ecd[] = @encode(Zoo);
+}
+
struct Base1 {
char x;
};
OpenPOWER on IntegriCloud