File tree 3 files changed +23
-6
lines changed
3 files changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -1758,13 +1758,18 @@ class ASTVisitor
1758
1758
access == AccessSpecifier::AS_protected)
1759
1759
continue ;
1760
1760
}
1761
-
1761
+ // the extraction of the base type is
1762
+ // performed in direct dependency mode
1763
+ auto BaseType = buildTypeInfo (
1764
+ B.getType (),
1765
+ ExtractMode::DirectDependency);
1766
+ // CXXBaseSpecifier::getEllipsisLoc indicates whether the
1767
+ // base was a pack expansion; a PackExpansionType is not built
1768
+ // for base-specifiers
1769
+ if (BaseType && B.getEllipsisLoc ().isValid ())
1770
+ BaseType->IsPackExpansion = true ;
1762
1771
I.Bases .emplace_back (
1763
- // the extraction of the base type is
1764
- // performed in direct dependency mode
1765
- buildTypeInfo (
1766
- B.getType (),
1767
- ExtractMode::DirectDependency),
1772
+ std::move (BaseType),
1768
1773
convertToAccessKind (access ),
1769
1774
B.isVirtual ());
1770
1775
}
Original file line number Diff line number Diff line change @@ -19,3 +19,6 @@ class C6 : virtual C1 {};
19
19
class C7 : public C5 , public C6 {};
20
20
21
21
struct S5 : private S0 , protected S1 {};
22
+
23
+ template <typename ... Ts>
24
+ struct S6 : Ts... { };
Original file line number Diff line number Diff line change 90
90
<type id =" Tu+ql/Sdpk31DKHwwD/67uI3OZE=" name =" S1" />
91
91
</base >
92
92
</struct >
93
+ <template >
94
+ <tparam name =" Ts" class =" type" />
95
+ <struct name =" S6" id =" dt7vZMcsOL5ylokCpCZgvCsG/po=" >
96
+ <file path =" record-inheritance.cpp" line =" 24" class =" def" />
97
+ <base >
98
+ <type is-pack =" 1" name =" Ts" />
99
+ </base >
100
+ </struct >
101
+ </template >
93
102
</namespace >
94
103
</mrdocs >
You can’t perform that action at this time.
0 commit comments