summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclCXX.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2015-12-24 23:58:20 +0000
committerCraig Topper <craig.topper@gmail.com>2015-12-24 23:58:20 +0000
commit6550a4b17e718b1b5f25626154bae1e4eafa91ad (patch)
tree80ba94d3772d14481398cf7bbfeb531651b1d042 /clang/lib/AST/DeclCXX.cpp
parentd4336e01d78316da868ef0bdb2524f2a6c712be0 (diff)
downloadbcm5719-llvm-6550a4b17e718b1b5f25626154bae1e4eafa91ad.tar.gz
bcm5719-llvm-6550a4b17e718b1b5f25626154bae1e4eafa91ad.zip
[Sema] ArrayRef-ize ActOnBaseSpecifiers. NFC
llvm-svn: 256399
Diffstat (limited to 'clang/lib/AST/DeclCXX.cpp')
-rw-r--r--clang/lib/AST/DeclCXX.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp
index 32e64b6e4ec..22b485a904b 100644
--- a/clang/lib/AST/DeclCXX.cpp
+++ b/clang/lib/AST/DeclCXX.cpp
@@ -135,14 +135,13 @@ CXXRecordDecl::CreateDeserialized(const ASTContext &C, unsigned ID) {
}
void
-CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases,
- unsigned NumBases) {
+CXXRecordDecl::setBases(ArrayRef<const CXXBaseSpecifier *> Bases) {
ASTContext &C = getASTContext();
if (!data().Bases.isOffset() && data().NumBases > 0)
C.Deallocate(data().getBases());
- if (NumBases) {
+ if (!Bases.empty()) {
// C++ [dcl.init.aggr]p1:
// An aggregate is [...] a class with [...] no base classes [...].
data().Aggregate = false;
@@ -158,9 +157,9 @@ CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases,
// The virtual bases of this class.
SmallVector<const CXXBaseSpecifier *, 8> VBases;
- data().Bases = new(C) CXXBaseSpecifier [NumBases];
- data().NumBases = NumBases;
- for (unsigned i = 0; i < NumBases; ++i) {
+ data().Bases = new(C) CXXBaseSpecifier [Bases.size()];
+ data().NumBases = Bases.size();
+ for (unsigned i = 0; i < Bases.size(); ++i) {
data().getBases()[i] = *Bases[i];
// Keep track of inherited vbases for this base class.
const CXXBaseSpecifier *Base = Bases[i];
OpenPOWER on IntegriCloud