summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclCXX.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/AST/DeclCXX.cpp')
-rw-r--r--clang/lib/AST/DeclCXX.cpp38
1 files changed, 3 insertions, 35 deletions
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp
index 27065a75bae..66afac8524c 100644
--- a/clang/lib/AST/DeclCXX.cpp
+++ b/clang/lib/AST/DeclCXX.cpp
@@ -291,42 +291,10 @@ OverloadedFunctionDecl::Create(ASTContext &C, DeclContext *DC,
return new (Mem) OverloadedFunctionDecl(DC, N);
}
-LinkageSpecDecl::LinkageSpecDecl(SourceLocation L, LanguageIDs lang,
- Decl **InDecls, unsigned InNumDecls)
- : Decl(LinkageSpec, L), Language(lang), HadBraces(true),
- Decls(0), NumDecls(InNumDecls) {
- Decl **NewDecls = new Decl*[NumDecls];
- for (unsigned I = 0; I < NumDecls; ++I)
- NewDecls[I] = InDecls[I];
- Decls = NewDecls;
-}
-
-LinkageSpecDecl::~LinkageSpecDecl() {
- if (HadBraces)
- delete [] (Decl**)Decls;
-}
-
LinkageSpecDecl *LinkageSpecDecl::Create(ASTContext &C,
+ DeclContext *DC,
SourceLocation L,
- LanguageIDs Lang, Decl *D) {
+ LanguageIDs Lang, bool Braces) {
void *Mem = C.getAllocator().Allocate<LinkageSpecDecl>();
- return new (Mem) LinkageSpecDecl(L, Lang, D);
-}
-
-LinkageSpecDecl *LinkageSpecDecl::Create(ASTContext &C,
- SourceLocation L,
- LanguageIDs Lang,
- Decl **Decls, unsigned NumDecls) {
- void *Mem = C.getAllocator().Allocate<LinkageSpecDecl>();
- return new (Mem) LinkageSpecDecl(L, Lang, Decls, NumDecls);
-}
-
-LinkageSpecDecl::decl_const_iterator LinkageSpecDecl::decls_begin() const {
- if (hasBraces()) return (Decl**)Decls;
- else return (Decl**)&Decls;
-}
-
-LinkageSpecDecl::decl_iterator LinkageSpecDecl::decls_end() const {
- if (hasBraces()) return (Decl**)Decls + NumDecls;
- else return (Decl**)&Decls + 1;
+ return new (Mem) LinkageSpecDecl(DC, L, Lang, Braces);
}
OpenPOWER on IntegriCloud