diff options
author | Douglas Gregor <dgregor@apple.com> | 2008-10-22 17:49:05 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2008-10-22 17:49:05 +0000 |
commit | 29a9247ec2515c4bf3b0bbf9bcbb04f9899406e1 (patch) | |
tree | fa814a563ea54a75e38498f7e7be43d4256fdc41 /clang/test/SemaCXX/inherit.cpp | |
parent | 254be031df75aef5c0a31f6397be7c207d0360a6 (diff) | |
download | bcm5719-llvm-29a9247ec2515c4bf3b0bbf9bcbb04f9899406e1.tar.gz bcm5719-llvm-29a9247ec2515c4bf3b0bbf9bcbb04f9899406e1.zip |
Add representation of base classes in the AST, and verify that we
don't have duplicated direct base classes.
Seriliazation of base class specifiers is not yet implemented.
llvm-svn: 57991
Diffstat (limited to 'clang/test/SemaCXX/inherit.cpp')
-rw-r--r-- | clang/test/SemaCXX/inherit.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/inherit.cpp b/clang/test/SemaCXX/inherit.cpp index 82d8db38cfd..8ccecddaf65 100644 --- a/clang/test/SemaCXX/inherit.cpp +++ b/clang/test/SemaCXX/inherit.cpp @@ -23,3 +23,10 @@ union U1 : public A { }; // expected-error{{unions cannot have base classes}} union U2 {};
class G : public U2 { }; // expected-error{{unions cannot be base classes}}
+
+typedef G G_copy;
+typedef G G_copy_2;
+typedef G_copy G_copy_3;
+
+class H : G_copy, A, G_copy_2, // expected-error{{base class 'G_copy' specified more than once as a direct base class}}
+ public G_copy_3 { }; // expected-error{{base class 'G_copy' specified more than once as a direct base class}}
|