summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2015-12-25 00:36:02 +0000
committerCraig Topper <craig.topper@gmail.com>2015-12-25 00:36:02 +0000
commite6337e1ebf3e456fd00252407aee6fd7160d7df9 (patch)
treeee9463398a71c65a00e1b3cf7faec52320d64eb6 /clang/lib/AST
parent8887d1faedb890defbeee4f849a6a9a22bda4af5 (diff)
downloadbcm5719-llvm-e6337e1ebf3e456fd00252407aee6fd7160d7df9.tar.gz
bcm5719-llvm-e6337e1ebf3e456fd00252407aee6fd7160d7df9.zip
Revert r256399 "[Sema] ArrayRef-ize ActOnBaseSpecifiers. NFC"
It broke lldb build. llvm-svn: 256403
Diffstat (limited to 'clang/lib/AST')
-rw-r--r--clang/lib/AST/ASTImporter.cpp2
-rw-r--r--clang/lib/AST/DeclCXX.cpp11
2 files changed, 7 insertions, 6 deletions
diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp
index 36a41cd7be7..824cc180109 100644
--- a/clang/lib/AST/ASTImporter.cpp
+++ b/clang/lib/AST/ASTImporter.cpp
@@ -2073,7 +2073,7 @@ bool ASTNodeImporter::ImportDefinition(RecordDecl *From, RecordDecl *To,
EllipsisLoc));
}
if (!Bases.empty())
- ToCXX->setBases(Bases);
+ ToCXX->setBases(Bases.data(), Bases.size());
}
if (shouldForceImportDeclContext(Kind))
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp
index 22b485a904b..32e64b6e4ec 100644
--- a/clang/lib/AST/DeclCXX.cpp
+++ b/clang/lib/AST/DeclCXX.cpp
@@ -135,13 +135,14 @@ CXXRecordDecl::CreateDeserialized(const ASTContext &C, unsigned ID) {
}
void
-CXXRecordDecl::setBases(ArrayRef<const CXXBaseSpecifier *> Bases) {
+CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases,
+ unsigned NumBases) {
ASTContext &C = getASTContext();
if (!data().Bases.isOffset() && data().NumBases > 0)
C.Deallocate(data().getBases());
- if (!Bases.empty()) {
+ if (NumBases) {
// C++ [dcl.init.aggr]p1:
// An aggregate is [...] a class with [...] no base classes [...].
data().Aggregate = false;
@@ -157,9 +158,9 @@ CXXRecordDecl::setBases(ArrayRef<const CXXBaseSpecifier *> Bases) {
// The virtual bases of this class.
SmallVector<const CXXBaseSpecifier *, 8> VBases;
- data().Bases = new(C) CXXBaseSpecifier [Bases.size()];
- data().NumBases = Bases.size();
- for (unsigned i = 0; i < Bases.size(); ++i) {
+ data().Bases = new(C) CXXBaseSpecifier [NumBases];
+ data().NumBases = NumBases;
+ for (unsigned i = 0; i < NumBases; ++i) {
data().getBases()[i] = *Bases[i];
// Keep track of inherited vbases for this base class.
const CXXBaseSpecifier *Base = Bases[i];
OpenPOWER on IntegriCloud