003 File Manager
Current Path:
/usr/src/contrib/llvm-project/clang/include/clang/Frontend
usr
/
src
/
contrib
/
llvm-project
/
clang
/
include
/
clang
/
Frontend
/
📁
..
📄
ASTConsumers.h
(1.93 KB)
📄
ASTUnit.h
(34.09 KB)
📄
ChainedDiagnosticConsumer.h
(2.39 KB)
📄
CommandLineSourceLoc.h
(4.25 KB)
📄
CompilerInstance.h
(27.29 KB)
📄
CompilerInvocation.h
(8.85 KB)
📄
DependencyOutputOptions.h
(2.77 KB)
📄
DiagnosticRenderer.h
(6.69 KB)
📄
FrontendAction.h
(11.74 KB)
📄
FrontendActions.h
(9.39 KB)
📄
FrontendDiagnostic.h
(521 B)
📄
FrontendOptions.h
(13.21 KB)
📄
FrontendPluginRegistry.h
(877 B)
📄
LayoutOverrideSource.h
(2.08 KB)
📄
LogDiagnosticPrinter.h
(2.37 KB)
📄
MigratorOptions.h
(877 B)
📄
MultiplexConsumer.h
(3.58 KB)
📄
PCHContainerOperations.h
(527 B)
📄
PrecompiledPreamble.h
(11.83 KB)
📄
PreprocessorOutputOptions.h
(1.58 KB)
📄
SerializedDiagnosticPrinter.h
(1.41 KB)
📄
SerializedDiagnosticReader.h
(4.21 KB)
📄
SerializedDiagnostics.h
(1.47 KB)
📄
TextDiagnostic.h
(4.83 KB)
📄
TextDiagnosticBuffer.h
(2.25 KB)
📄
TextDiagnosticPrinter.h
(1.82 KB)
📄
Utils.h
(8.73 KB)
📄
VerifyDiagnosticConsumer.h
(11.4 KB)
Editing: LayoutOverrideSource.h
//===--- LayoutOverrideSource.h --Override Record Layouts -------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #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 { /// 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 { /// The layout of a given record. struct Layout { /// The size of the record. uint64_t Size; /// The alignment of the record. uint64_t Align; /// The offsets of the fields, in source order. SmallVector<uint64_t, 8> FieldOffsets; }; /// The set of layouts that will be overridden. llvm::StringMap<Layout> Layouts; public: /// 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); /// 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; /// Dump the overridden layouts. void dump(); }; } #endif
Upload File
Create Folder