misc/liblua/lcode.h
author Simon McVittie <smcv@debian.org>
Mon, 12 Sep 2022 10:40:53 -0400
branch1.0.0
changeset 15859 7b1d6dfa3173
parent 10017 de822cd3df3a
permissions -rw-r--r--
Remove FindSDL2 find-module, use sdl2-config.cmake instead This requires SDL >= 2.0.4. Since <https://bugzilla.libsdl.org/show_bug.cgi?id=2464> was fixed in SDL 2.0.4, SDL behaves as a CMake "config-file package", even if it was not itself built using CMake: it installs a sdl2-config.cmake file to ${libdir}/cmake/SDL2, which tells CMake where to find SDL's headers and library, analogous to a pkg-config .pc file. As a result, we no longer need to copy/paste a "find-module package" to be able to find a system copy of SDL >= 2.0.4 with find_package(SDL2). Find-module packages are now discouraged by the CMake developers, in favour of having upstream projects behave as config-file packages. This results in a small API change: FindSDL2 used to set SDL2_INCLUDE_DIR and SDL2_LIBRARY, but the standard behaviour for config-file packages is to set <name>_INCLUDE_DIRS and <name>_LIBRARIES. Use the CONFIG keyword to make sure we search in config-file package mode, and will not find a FindSDL2.cmake in some other directory that implements the old interface. In addition to deleting redundant code, this avoids some assumptions in FindSDL2 about the layout of a SDL installation. The current libsdl2-dev package in Debian breaks those assumptions; this is considered a bug and will hopefully be fixed soon, but it illustrates how fragile these assumptions can be. We can be more robust against different installation layouts by relying on SDL's own CMake integration. When linking to a copy of CMake in a non-standard location, users can now set the SDL2_DIR or CMAKE_PREFIX_PATH environment variable to point to it; previously, these users would have used the SDL2DIR environment variable. This continues to be unnecessary if using matching system-wide installations of CMake and SDL2, for example both from Debian.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     1
/*
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     2
** $Id: lcode.h,v 1.48.1.1 2007/12/27 13:02:25 roberto Exp $
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     3
** Code generator for Lua
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     4
** See Copyright Notice in lua.h
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     5
*/
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     6
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     7
#ifndef lcode_h
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     8
#define lcode_h
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     9
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    10
#include "llex.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    11
#include "lobject.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    12
#include "lopcodes.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    13
#include "lparser.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    14
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    15
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    16
/*
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    17
** Marks the end of a patch list. It is an invalid value both as an absolute
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    18
** address, and as a list link (would link an element to itself).
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    19
*/
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    20
#define NO_JUMP (-1)
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    21
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    22
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    23
/*
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    24
** grep "ORDER OPR" if you change these enums
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    25
*/
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    26
typedef enum BinOpr {
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    27
  OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    28
  OPR_CONCAT,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    29
  OPR_NE, OPR_EQ,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    30
  OPR_LT, OPR_LE, OPR_GT, OPR_GE,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    31
  OPR_AND, OPR_OR,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    32
  OPR_NOBINOPR
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    33
} BinOpr;
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    34
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    35
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    36
typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr;
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    37
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    38
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 2812
diff changeset
    39
#define getcode(fs,e)   ((fs)->f->code[(e)->u.s.info])
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    40
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 2812
diff changeset
    41
#define luaK_codeAsBx(fs,o,A,sBx)   luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx)
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    42
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 2812
diff changeset
    43
#define luaK_setmultret(fs,e)   luaK_setreturns(fs, e, LUA_MULTRET)
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    44
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    45
LUAI_FUNC int luaK_codeABx (FuncState *fs, OpCode o, int A, unsigned int Bx);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    46
LUAI_FUNC int luaK_codeABC (FuncState *fs, OpCode o, int A, int B, int C);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    47
LUAI_FUNC void luaK_fixline (FuncState *fs, int line);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    48
LUAI_FUNC void luaK_nil (FuncState *fs, int from, int n);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    49
LUAI_FUNC void luaK_reserveregs (FuncState *fs, int n);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    50
LUAI_FUNC void luaK_checkstack (FuncState *fs, int n);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    51
LUAI_FUNC int luaK_stringK (FuncState *fs, TString *s);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    52
LUAI_FUNC int luaK_numberK (FuncState *fs, lua_Number r);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    53
LUAI_FUNC void luaK_dischargevars (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    54
LUAI_FUNC int luaK_exp2anyreg (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    55
LUAI_FUNC void luaK_exp2nextreg (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    56
LUAI_FUNC void luaK_exp2val (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    57
LUAI_FUNC int luaK_exp2RK (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    58
LUAI_FUNC void luaK_self (FuncState *fs, expdesc *e, expdesc *key);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    59
LUAI_FUNC void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    60
LUAI_FUNC void luaK_goiftrue (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    61
LUAI_FUNC void luaK_storevar (FuncState *fs, expdesc *var, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    62
LUAI_FUNC void luaK_setreturns (FuncState *fs, expdesc *e, int nresults);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    63
LUAI_FUNC void luaK_setoneret (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    64
LUAI_FUNC int luaK_jump (FuncState *fs);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    65
LUAI_FUNC void luaK_ret (FuncState *fs, int first, int nret);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    66
LUAI_FUNC void luaK_patchlist (FuncState *fs, int list, int target);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    67
LUAI_FUNC void luaK_patchtohere (FuncState *fs, int list);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    68
LUAI_FUNC void luaK_concat (FuncState *fs, int *l1, int l2);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    69
LUAI_FUNC int luaK_getlabel (FuncState *fs);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    70
LUAI_FUNC void luaK_prefix (FuncState *fs, UnOpr op, expdesc *v);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    71
LUAI_FUNC void luaK_infix (FuncState *fs, BinOpr op, expdesc *v);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    72
LUAI_FUNC void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, expdesc *v2);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    73
LUAI_FUNC void luaK_setlist (FuncState *fs, int base, int nelems, int tostore);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    74
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    75
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    76
#endif