clang
3.9.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
llvm.src
tools
clang
lib
AST
DeclGroup.cpp
Go to the documentation of this file.
1
//===--- DeclGroup.cpp - Classes for representing groups of Decls -*- C++ -*-==//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file defines the DeclGroup and DeclGroupRef classes.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#include "
clang/AST/DeclGroup.h
"
15
#include "
clang/AST/ASTContext.h
"
16
#include "
clang/AST/Decl.h
"
17
#include "llvm/Support/Allocator.h"
18
using namespace
clang;
19
20
DeclGroup
*
DeclGroup::Create
(
ASTContext
&
C
,
Decl
**Decls,
unsigned
NumDecls) {
21
assert(NumDecls > 1 &&
"Invalid DeclGroup"
);
22
unsigned
Size = totalSizeToAlloc<Decl *>(NumDecls);
23
void
* Mem = C.
Allocate
(Size, llvm::AlignOf<DeclGroup>::Alignment);
24
new
(Mem)
DeclGroup
(NumDecls, Decls);
25
return
static_cast<
DeclGroup
*
>
(Mem);
26
}
27
28
DeclGroup::DeclGroup(
unsigned
numdecls,
Decl
** decls) : NumDecls(numdecls) {
29
assert(numdecls > 0);
30
assert(decls);
31
std::uninitialized_copy(decls, decls + numdecls,
32
getTrailingObjects<Decl *>());
33
}
ASTContext.h
Defines the clang::ASTContext interface.
clang::DeclGroup
Definition:
DeclGroup.h:28
Decl
clang::ASTContext
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition:
ASTContext.h:92
clang::DeclGroup::Create
static DeclGroup * Create(ASTContext &C, Decl **Decls, unsigned NumDecls)
Definition:
DeclGroup.cpp:20
Decl.h
DeclGroup.h
clang::ASTContext::Allocate
void * Allocate(size_t Size, unsigned Align=8) const
Definition:
ASTContext.h:568
AttributeLangSupport::C
Definition:
SemaDeclAttr.cpp:42
Generated on Wed Aug 31 2016 16:58:02 for clang by
1.8.6