#ifndef LLVM_CLANG_LEX_PREPROCESSINGRECORD_H
#define LLVM_CLANG_LEX_PREPROCESSINGRECORD_H
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Lex/PPCallbacks.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Compiler.h"
#include <cassert>
#include <cstddef>
#include <iterator>
#include <optional>
#include <utility>
#include <vector>
namespace clang {
class PreprocessingRecord;
}
void *operator new(size_t bytes, clang::PreprocessingRecord &PR,
unsigned alignment = 8) noexcept;
void operator delete(void *ptr, clang::PreprocessingRecord &PR,
unsigned) noexcept;
namespace clang {
class IdentifierInfo;
class MacroInfo;
class SourceManager;
class Token;
class PreprocessedEntity { … };
class PreprocessingDirective : public PreprocessedEntity { … };
class MacroDefinitionRecord : public PreprocessingDirective { … };
class MacroExpansion : public PreprocessedEntity { … };
class InclusionDirective : public PreprocessingDirective { … };
class ExternalPreprocessingRecordSource { … };
class PreprocessingRecord : public PPCallbacks { … };
}
inline void *operator new(size_t bytes, clang::PreprocessingRecord &PR,
unsigned alignment) noexcept { … }
inline void operator delete(void *ptr, clang::PreprocessingRecord &PR,
unsigned) noexcept { … }
#endif