clang
5.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
using namespace
clang;
18
19
DeclGroup
*
DeclGroup::Create
(
ASTContext
&
C
,
Decl
**Decls,
unsigned
NumDecls) {
20
assert(NumDecls > 1 &&
"Invalid DeclGroup"
);
21
unsigned
Size = totalSizeToAlloc<Decl *>(NumDecls);
22
void
*Mem = C.
Allocate
(Size,
alignof
(
DeclGroup
));
23
new
(Mem)
DeclGroup
(NumDecls, Decls);
24
return
static_cast<
DeclGroup
*
>
(Mem);
25
}
26
27
DeclGroup::DeclGroup(
unsigned
numdecls,
Decl
** decls) : NumDecls(numdecls) {
28
assert(numdecls > 0);
29
assert(decls);
30
std::uninitialized_copy(decls, decls + numdecls,
31
getTrailingObjects<Decl *>());
32
}
ASTContext.h
Defines the clang::ASTContext interface.
clang::DeclGroup
Definition:
DeclGroup.h:28
clang::Decl
Decl - This represents one declaration (or definition), e.g.
Definition:
DeclBase.h:81
clang::ASTContext
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition:
ASTContext.h:128
clang::DeclGroup::Create
static DeclGroup * Create(ASTContext &C, Decl **Decls, unsigned NumDecls)
Definition:
DeclGroup.cpp:19
Decl.h
DeclGroup.h
clang::ASTContext::Allocate
void * Allocate(size_t Size, unsigned Align=8) const
Definition:
ASTContext.h:623
AttributeLangSupport::C
Definition:
SemaDeclAttr.cpp:44
Generated on Tue Sep 5 2017 11:45:16 for clang by
1.8.6