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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57991 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/inherit.cpp b/test/SemaCXX/inherit.cpp
index 82d8db3..8ccecdd 100644
--- a/test/SemaCXX/inherit.cpp
+++ b/test/SemaCXX/inherit.cpp
@@ -23,3 +23,10 @@
 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}}