//===--- Context.h - Context for the constexpr VM ---------------*- 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 // //===----------------------------------------------------------------------===// // // Defines the constexpr execution context. // // The execution context manages cached bytecode and the global context. // It invokes the compiler and interpreter, propagating errors. // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_AST_INTERP_CONTEXT_H #define LLVM_CLANG_AST_INTERP_CONTEXT_H #include "InterpStack.h" namespace clang { class ASTContext; class LangOptions; class FunctionDecl; class VarDecl; class APValue; namespace interp { class Function; class Program; class State; enum PrimType : unsigned; struct ParamOffset { … }; /// Holds all information required to evaluate constexpr code in a module. class Context final { … }; } // namespace interp } // namespace clang #endif