Clang Project

clang_source_code/lib/AST/DeclGroup.cpp
1//===- DeclGroup.cpp - Classes for representing groups of Decls -----------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9//  This file defines the DeclGroup and DeclGroupRef classes.
10//
11//===----------------------------------------------------------------------===//
12
13#include "clang/AST/DeclGroup.h"
14#include "clang/AST/ASTContext.h"
15#include <cassert>
16#include <memory>
17
18using namespace clang;
19
20DeclGroupDeclGroup::Create(ASTContext &CDecl **Declsunsigned NumDecls) {
21   (0) . __assert_fail ("NumDecls > 1 && \"Invalid DeclGroup\"", "/home/seafit/code_projects/clang_source/clang/lib/AST/DeclGroup.cpp", 21, __PRETTY_FUNCTION__))" file_link="../../../include/assert.h.html#88" macro="true">assert(NumDecls > 1 && "Invalid DeclGroup");
22  unsigned Size = totalSizeToAlloc<Decl *>(NumDecls);
23  void *Mem = C.Allocate(Sizealignof(DeclGroup));
24  new (MemDeclGroup(NumDeclsDecls);
25  return static_cast<DeclGroup*>(Mem);
26}
27
28DeclGroup::DeclGroup(unsigned numdeclsDecl** decls) : NumDecls(numdecls) {
29   0", "/home/seafit/code_projects/clang_source/clang/lib/AST/DeclGroup.cpp", 29, __PRETTY_FUNCTION__))" file_link="../../../include/assert.h.html#88" macro="true">assert(numdecls > 0);
30  assert(decls);
31  std::uninitialized_copy(declsdecls + numdecls,
32                          getTrailingObjects<Decl *>());
33}
34
clang::DeclGroup::Create