godot/thirdparty/graphite/src/inc/Machine.h

// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
// Copyright 2010, SIL International, All rights reserved.

// This general interpreter interface.
// Author: Tim Eves

// Build one of direct_machine.cpp or call_machine.cpp to implement this
// interface.

#pragma once
#include <cstring>
#include <limits>
#include <graphite2/Types.h>
#include "inc/Main.h"

#if defined(__GNUC__)
#if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ * 10) < 430
#define HOT
#if defined(__x86_64)
#define REGPARM(n)
#else
#define REGPARM
#endif
#else
#define HOT
#if defined(__x86_64)
#define REGPARM
#else
#define REGPARM
#endif
#endif
#else
#define HOT
#define REGPARM
#endif

#if defined(__MINGW32__)
// MinGW's <limits> at some point includes winnt.h which #define's a
// DELETE macro, which conflicts with enum opcode below, so we undefine
// it here.
#undef DELETE
#endif

namespace graphite2 {

// Forward declarations
class Segment;
class Slot;
class SlotMap;


namespace vm
{


instr;
slotref;

enum {};

enum opcode {};

struct opcode_t
{};


class Machine
{};

inline Machine::Machine(SlotMap & map) throw()
:{}

inline SlotMap& Machine::slotMap() const throw()
{}

inline Machine::status_t Machine::status() const throw()
{}

inline void Machine::check_final_stack(const stack_t * const sp)
{}

} // namespace vm
} // namespace graphite2