From: Aaron Ballman Date: Tue, 4 Dec 2018 21:49:24 +0000 (+0000) Subject: Add tests for dumping base classes; NFC. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef1d87ea6e10a07c3b92e9d079c22aa8ef947611;p=clang Add tests for dumping base classes; NFC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@348308 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/AST/ast-dump-records.cpp b/test/AST/ast-dump-records.cpp index 347e1aec58..e48d406baf 100644 --- a/test/AST/ast-dump-records.cpp +++ b/test/AST/ast-dump-records.cpp @@ -237,3 +237,40 @@ union G { // CHECK-NEXT: Field 0x{{[^ ]*}} '' 'G::(anonymous struct at {{.*}}:[[@LINE-19]]:3)' // CHECK-NEXT: Field 0x{{[^ ]*}} 'f' 'int' }; + +struct Base1 {}; +struct Base2 {}; +struct Base3 {}; + +struct Derived1 : Base1 { + // CHECK: CXXRecordDecl 0x{{[^ ]*}} line:[[@LINE-1]]:8 struct Derived1 definition + // CHECK: public 'Base1' +}; + +struct Derived2 : private Base1 { + // CHECK: CXXRecordDecl 0x{{[^ ]*}} line:[[@LINE-1]]:8 struct Derived2 definition + // CHECK: private 'Base1' +}; + +struct Derived3 : virtual Base1 { + // CHECK: CXXRecordDecl 0x{{[^ ]*}} line:[[@LINE-1]]:8 struct Derived3 definition + // CHECK: virtual public 'Base1' +}; + +struct Derived4 : Base1, virtual Base2, protected Base3 { + // CHECK: CXXRecordDecl 0x{{[^ ]*}} line:[[@LINE-1]]:8 struct Derived4 definition + // CHECK: public 'Base1' + // CHECK-NEXT: virtual public 'Base2' + // CHECK-NEXT: protected 'Base3' +}; + +struct Derived5 : protected virtual Base1 { + // CHECK: CXXRecordDecl 0x{{[^ ]*}} line:[[@LINE-1]]:8 struct Derived5 definition + // CHECK: virtual protected 'Base1' +}; + +template +struct Derived6 : virtual public Bases... { + // CHECK: CXXRecordDecl 0x{{[^ ]*}} line:[[@LINE-1]]:8 struct Derived6 definition + // CHECK: virtual public 'Bases'... +};