summaryrefslogtreecommitdiffstats
path: root/include/clang/Frontend/LayoutOverrideSource.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Frontend/LayoutOverrideSource.h')
-rw-r--r--include/clang/Frontend/LayoutOverrideSource.h63
1 files changed, 0 insertions, 63 deletions
diff --git a/include/clang/Frontend/LayoutOverrideSource.h b/include/clang/Frontend/LayoutOverrideSource.h
deleted file mode 100644
index 16d032b..0000000
--- a/include/clang/Frontend/LayoutOverrideSource.h
+++ /dev/null
@@ -1,63 +0,0 @@
-//===--- LayoutOverrideSource.h --Override Record Layouts -----------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_FRONTEND_LAYOUTOVERRIDESOURCE_H
-#define LLVM_CLANG_FRONTEND_LAYOUTOVERRIDESOURCE_H
-
-#include "clang/AST/ExternalASTSource.h"
-#include "clang/Basic/LLVM.h"
-#include "llvm/ADT/StringMap.h"
-#include "llvm/ADT/StringRef.h"
-
-namespace clang {
- /// \brief An external AST source that overrides the layout of
- /// a specified set of record types.
- ///
- /// This class is used only for testing the ability of external AST sources
- /// to override the layout of record types. Its input is the output format
- /// of the command-line argument -fdump-record-layouts.
- class LayoutOverrideSource : public ExternalASTSource {
- /// \brief The layout of a given record.
- struct Layout {
- /// \brief The size of the record.
- uint64_t Size;
-
- /// \brief The alignment of the record.
- uint64_t Align;
-
- /// \brief The offsets of the fields, in source order.
- SmallVector<uint64_t, 8> FieldOffsets;
- };
-
- /// \brief The set of layouts that will be overridden.
- llvm::StringMap<Layout> Layouts;
-
- public:
- /// \brief Create a new AST source that overrides the layout of some
- /// set of record types.
- ///
- /// The file is the result of passing -fdump-record-layouts to a file.
- explicit LayoutOverrideSource(StringRef Filename);
-
- /// \brief If this particular record type has an overridden layout,
- /// return that layout.
- bool
- layoutRecordType(const RecordDecl *Record,
- uint64_t &Size, uint64_t &Alignment,
- llvm::DenseMap<const FieldDecl *, uint64_t> &FieldOffsets,
- llvm::DenseMap<const CXXRecordDecl *, CharUnits> &BaseOffsets,
- llvm::DenseMap<const CXXRecordDecl *,
- CharUnits> &VirtualBaseOffsets) override;
-
- /// \brief Dump the overridden layouts.
- void dump();
- };
-}
-
-#endif
OpenPOWER on IntegriCloud