//===-- llvm/Support/Win64EH.h ---Win64 EH Constants-------------*- 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 // //===----------------------------------------------------------------------===// // // This file contains constants and structures used for implementing // exception handling on Win64 platforms. For more information, see // http://msdn.microsoft.com/en-us/library/1eyas8tf.aspx // //===----------------------------------------------------------------------===// #ifndef LLVM_SUPPORT_WIN64EH_H #define LLVM_SUPPORT_WIN64EH_H #include "llvm/Support/DataTypes.h" #include "llvm/Support/Endian.h" namespace llvm { namespace Win64EH { /// UnwindOpcodes - Enumeration whose values specify a single operation in /// the prolog of a function. enum UnwindOpcodes { … }; /// UnwindCode - This union describes a single operation in a function prolog, /// or part thereof. UnwindCode; enum { … }; /// RuntimeFunction - An entry in the table of functions with unwind info. struct RuntimeFunction { … }; /// UnwindInfo - An entry in the exception table. struct UnwindInfo { … }; } // End of namespace Win64EH } // End of namespace llvm #endif