diff options
author | Alon Zakai <azakai@mozilla.com> | 2010-11-20 20:00:11 -0800 |
---|---|---|
committer | Alon Zakai <azakai@mozilla.com> | 2010-11-20 20:00:11 -0800 |
commit | fa5bac952a9eb74d4964b8497454aac1b32299a5 (patch) | |
tree | 85df12e896ee36fc6345100e032e478874eec01c /tests | |
parent | d61473b75862c62293318ced24a638d322ff2bd9 (diff) |
lua test
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lua/COPYRIGHT | 34 | ||||
-rw-r--r-- | tests/lua/Makefile | 184 | ||||
-rw-r--r-- | tests/lua/lua.ll | 54637 | ||||
-rw-r--r-- | tests/runner.py | 4 |
4 files changed, 54857 insertions, 2 deletions
diff --git a/tests/lua/COPYRIGHT b/tests/lua/COPYRIGHT new file mode 100644 index 00000000..3a53e741 --- /dev/null +++ b/tests/lua/COPYRIGHT @@ -0,0 +1,34 @@ +Lua License +----------- + +Lua is licensed under the terms of the MIT license reproduced below. +This means that Lua is free software and can be used for both academic +and commercial purposes at absolutely no cost. + +For details and rationale, see http://www.lua.org/license.html . + +=============================================================================== + +Copyright (C) 1994-2008 Lua.org, PUC-Rio. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +=============================================================================== + +(end of COPYRIGHT) diff --git a/tests/lua/Makefile b/tests/lua/Makefile new file mode 100644 index 00000000..c6ae126f --- /dev/null +++ b/tests/lua/Makefile @@ -0,0 +1,184 @@ +# makefile for building Lua +# see ../INSTALL for installation instructions +# see ../Makefile and luaconf.h for further customization + +# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= + +PLAT=generic # Emscripten needs |generic|! + +# Fix '...' with the proper absolute path +CC = "/.../Dev/llvm-2.8/cbuild/Release/bin/clang++" # C++ compiler, so we don't use longjmp/setjmp! +CFLAGS= -emit-llvm -U__i386__ -U__x86_64__ +AR= "/.../Dev/llvm-2.8/cbuild/Release/bin/llvm-link" +RANLIB= "/.../Dev/llvm-2.8/cbuild/Release/bin/llvm-dis" +RM= rm -f +LIBS= -lm $(MYLIBS) + +MYCFLAGS= +MYLDFLAGS= +MYLIBS= + +# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= + +PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + +LUA_A= liblua.a +CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ + lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ + lundump.o lvm.o lzio.o +LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \ + lstrlib.o loadlib.o linit.o + +LUA_T= lua +LUA_O= lua.o + +LUAC_T= luac +LUAC_O= luac.o print.o + +ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) +ALL_T= $(LUA_A) $(LUA_T) +ALL_A= $(LUA_A) + +default: $(PLAT) + +all: $(ALL_T) + +o: $(ALL_O) + +a: $(ALL_A) + +$(LUA_A): $(CORE_O) $(LIB_O) + $(AR) -o=$@ $? + $(RANLIB) -show-annotations $@ + +$(LUA_T): $(LUA_O) $(LUA_A) + $(AR) -o=$@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) + $(RANLIB) -show-annotations $@ + +$(LUAC_T): $(LUAC_O) $(LUA_A) + $(AR) -o=$@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) + $(RANLIB) -show-annotations $@ + +clean: + $(RM) $(ALL_T) $(ALL_O) + +depend: + @$(CC) $(CFLAGS) -MM l*.c print.c + +echo: + @echo "PLAT = $(PLAT)" + @echo "CC = $(CC)" + @echo "CFLAGS = $(CFLAGS)" + @echo "AR = $(AR)" + @echo "RANLIB = $(RANLIB)" + @echo "RM = $(RM)" + @echo "MYCFLAGS = $(MYCFLAGS)" + @echo "MYLDFLAGS = $(MYLDFLAGS)" + @echo "MYLIBS = $(MYLIBS)" + +# convenience targets for popular platforms + +none: + @echo "Please choose a platform:" + @echo " $(PLATS)" + +aix: + $(MAKE) all CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" MYLDFLAGS="-brtl -bexpall" + +ansi: + $(MAKE) all MYCFLAGS=-DLUA_ANSI + +bsd: + $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E" + +freebsd: + $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX" MYLIBS="-Wl,-E -lreadline" + +generic: + $(MAKE) all MYCFLAGS= + +linux: + $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" + +macosx: + $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline" +# use this on Mac OS X 10.3- +# $(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX + +mingw: + $(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \ + "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ + "MYCFLAGS=-DLUA_BUILD_AS_DLL" "MYLIBS=" "MYLDFLAGS=-s" lua.exe + $(MAKE) "LUAC_T=luac.exe" luac.exe + +posix: + $(MAKE) all MYCFLAGS=-DLUA_USE_POSIX + +solaris: + $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" + +# list targets that do not create files (but not all makes understand .PHONY) +.PHONY: all $(PLATS) default o a clean depend echo none + +# DO NOT DELETE + +lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \ + lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \ + lundump.h lvm.h +lauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h +lbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h +lcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ + lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lgc.h \ + ltable.h +ldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h +ldebug.o: ldebug.c lua.h luaconf.h lapi.h lobject.h llimits.h lcode.h \ + llex.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \ + lfunc.h lstring.h lgc.h ltable.h lvm.h +ldo.o: ldo.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ + lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h lstring.h \ + ltable.h lundump.h lvm.h +ldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \ + lzio.h lmem.h lundump.h +lfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h lmem.h \ + lstate.h ltm.h lzio.h +lgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ + lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h +linit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h +liolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h +llex.o: llex.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h ltm.h \ + lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h +lmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h +lmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ + ltm.h lzio.h lmem.h ldo.h +loadlib.o: loadlib.c lua.h luaconf.h lauxlib.h lualib.h +lobject.o: lobject.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h \ + ltm.h lzio.h lmem.h lstring.h lgc.h lvm.h +lopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h +loslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h +lparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ + lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \ + lfunc.h lstring.h lgc.h ltable.h +lstate.o: lstate.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ + ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h llex.h lstring.h ltable.h +lstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \ + ltm.h lzio.h lstring.h lgc.h +lstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h +ltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ + ltm.h lzio.h lmem.h ldo.h lgc.h ltable.h +ltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h +ltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \ + lmem.h lstring.h lgc.h ltable.h +lua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h +luac.o: luac.c lua.h luaconf.h lauxlib.h ldo.h lobject.h llimits.h \ + lstate.h ltm.h lzio.h lmem.h lfunc.h lopcodes.h lstring.h lgc.h \ + lundump.h +lundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \ + llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h lundump.h +lvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ + lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h lvm.h +lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \ + lzio.h +print.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h \ + ltm.h lzio.h lmem.h lopcodes.h lundump.h + +# (end of Makefile) diff --git a/tests/lua/lua.ll b/tests/lua/lua.ll new file mode 100644 index 00000000..9a15a65f --- /dev/null +++ b/tests/lua/lua.ll @@ -0,0 +1,54637 @@ +; ModuleID = 'lua' +target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" +target triple = "i386-pc-linux-gnu" + +%0 = type { %struct.lua_TValue } +%1 = type { %union.anon, i32, %struct.Node* } +%2 = type { %3 } +%3 = type { i32, i32 } +%4 = type { %union.GCObject*, i8, i8, %struct.Table*, %struct.Table*, i32 } +%5 = type { i8*, i8* } +%6 = type { i8*, i8*, i32, i8* } +%7 = type { %8, i32 } +%8 = type { %union.GCObject*, [4 x i8] } +%9 = type { %7, %10 } +%10 = type { %11 } +%11 = type { %8, i32, %struct.Node* } +%12 = type { %struct.lua_State*, i32 (%struct.lua_State*, i8*, i32, i8*)*, i8*, i32, i32 } +%13 = type { %struct.UpVal*, %struct.UpVal* } +%14 = type { %struct.lua_State*, %struct.Zio*, %struct.Mbuffer*, i8* } +%enum.BinOpr = type i32 +%enum.OpArgMask = type i32 +%enum.OpMode = type i32 +%enum.UnOpr = type i32 +%enum.anon = type i32 +%struct.BlockCnt = type { %struct.BlockCnt*, i32, i8, i8, i8 } +%struct.CCallS = type { i32 (%struct.lua_State*)*, i8* } +%struct.CClosure = type { %union.GCObject*, i8, i8, i8, i8, %union.GCObject*, %struct.Table*, i32 (%struct.lua_State*)*, [1 x %struct.lua_TValue] } +%struct.CallInfo = type { %struct.lua_TValue*, %struct.lua_TValue*, %struct.lua_TValue*, i32*, i32, i32 } +%struct.CallS = type { %struct.lua_TValue*, i32 } +%struct.ConsControl = type { %struct.expdesc, %struct.expdesc*, i32, i32, i32 } +%struct.FuncState = type { %struct.Proto*, %struct.Table*, %struct.FuncState*, %struct.LexState*, %struct.lua_State*, %struct.BlockCnt*, i32, i32, i32, i32, i32, i32, i16, i8, [60 x %struct.upvaldesc], [200 x i16] } +%struct.GCheader = type { %union.GCObject*, i8, i8 } +%struct.LClosure = type { %union.GCObject*, i8, i8, i8, i8, %union.GCObject*, %struct.Table*, %struct.Proto*, [1 x %struct.UpVal*] } +%struct.LG = type { %struct.lua_State, %struct.global_State } +%struct.LHS_assign = type { %struct.LHS_assign*, %struct.expdesc } +%struct.LexState = type { i32, i32, i32, %struct.Token, %struct.Token, %struct.FuncState*, %struct.lua_State*, %struct.Zio*, %struct.Mbuffer*, %union.TString*, i8 } +%struct.LoadF = type { i32, %struct._IO_FILE*, [8192 x i8] } +%struct.LoadS = type { i8*, i32 } +%struct.LocVar = type { %union.TString*, i32, i32 } +%struct.MatchState = type { i8*, i8*, %struct.lua_State*, i32, [32 x %struct.LoadS] } +%struct.Mbuffer = type { i8*, i32, i32 } +%struct.Node = type { %struct.lua_TValue, %union.TKey } +%struct.Proto = type { %union.GCObject*, i8, i8, %struct.lua_TValue*, i32*, %struct.Proto**, i32*, %struct.LocVar*, %union.TString**, %union.TString*, i32, i32, i32, i32, i32, i32, i32, i32, %union.GCObject*, i8, i8, i8, i8 } +%struct.SParser = type { %struct.Zio*, %struct.Mbuffer, i8* } +%struct.Smain = type { i32, i8**, i32 } +%struct.Table = type { %union.GCObject*, i8, i8, i8, i8, %struct.Table*, %struct.lua_TValue*, %struct.Node*, %struct.Node*, %union.GCObject*, i32 } +%struct.Token = type { i32, %union.anon } +%struct.UpVal = type { %union.GCObject*, i8, i8, %struct.lua_TValue*, %0 } +%struct.Zio = type { i32, i8*, i8* (%struct.lua_State*, i8*, i32*)*, i8*, %struct.lua_State* } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] } +%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 } +%struct.anon = type { %union.GCObject*, i8, i8, i8, i32, i32 } +%struct.expdesc = type { i32, %2, i32, i32 } +%struct.global_State = type { %struct.stringtable, i8* (i8*, i8*, i32, i32)*, i8*, i8, i8, i32, %union.GCObject*, %union.GCObject**, %union.GCObject*, %union.GCObject*, %union.GCObject*, %union.GCObject*, %struct.Mbuffer, i32, i32, i32, i32, i32, i32, i32 (%struct.lua_State*)*, %struct.lua_TValue, %struct.lua_State*, %struct.UpVal, [9 x %struct.Table*], [17 x %union.TString*] } +%struct.lconv = type { i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } +%struct.luaL_Buffer = type { i8*, i32, %struct.lua_State*, [8192 x i8] } +%struct.luaL_Reg = type { i8*, i32 (%struct.lua_State*)* } +%struct.lua_Debug = type { i32, i8*, i8*, i8*, i8*, i32, i32, i32, i32, [60 x i8], i32 } +%struct.lua_State = type { %union.GCObject*, i8, i8, i8, %struct.lua_TValue*, %struct.lua_TValue*, %struct.global_State*, %struct.CallInfo*, i32*, %struct.lua_TValue*, %struct.lua_TValue*, %struct.CallInfo*, %struct.CallInfo*, i32, i32, i16, i16, i8, i8, i32, i32, void (%struct.lua_State*, %struct.lua_Debug*)*, %struct.lua_TValue, %struct.lua_TValue, %union.GCObject*, %union.GCObject*, %struct.lua_longjmp*, i32 } +%struct.lua_TValue = type { %union.anon, i32 } +%struct.lua_longjmp = type { %struct.lua_longjmp*, i32, i32 } +%struct.stringtable = type { %union.GCObject**, i32, i32 } +%struct.tm = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8* } +%struct.upvaldesc = type { i8, i8 } +%union.Closure = type { %struct.CClosure } +%union.GCObject = type { %struct.lua_State } +%union.TKey = type { %1 } +%union.TString = type { %struct.anon } +%union.Udata = type { %4 } +%union.anon = type { double } + +@_ZL7globalL = internal global %struct.lua_State* null, align 4 ; [#uses=2] +@.str = private constant [39 x i8] c"cannot create state: not enough memory\00" ; [#uses=1] +@.str1 = private constant [31 x i8] c"(error object is not a string)\00" ; [#uses=1] +@_ZL8progname = internal global i8* getelementptr inbounds ([4 x i8]* @.str2, i32 0, i32 0), align 4 ; [#uses=7] +@.str2 = private constant [4 x i8] c"lua\00" ; [#uses=1] +@.str3 = private constant [6 x i8] c"print\00" ; [#uses=1] +@.str4 = private constant [27 x i8] c"error calling 'print' (%s)\00" ; [#uses=1] +@.str5 = private constant [2 x i8] c"\0A\00" ; [#uses=1] +@stdout = external global %struct._IO_FILE* ; [#uses=8] +@.str6 = private constant [13 x i8] c"interrupted!\00" ; [#uses=1] +@.str7 = private constant [6 x i8] c"debug\00" ; [#uses=1] +@.str8 = private constant [10 x i8] c"traceback\00" ; [#uses=1] +@.str9 = private constant [7 x i8] c"=stdin\00" ; [#uses=1] +@.str10 = private constant [8 x i8] c"'<eof>'\00" ; [#uses=1] +@stdin = external global %struct._IO_FILE* ; [#uses=4] +@.str11 = private constant [10 x i8] c"return %s\00" ; [#uses=1] +@.str12 = private constant [8 x i8] c"_PROMPT\00" ; [#uses=1] +@.str13 = private constant [9 x i8] c"_PROMPT2\00" ; [#uses=1] +@.str14 = private constant [3 x i8] c"> \00" ; [#uses=1] +@.str15 = private constant [4 x i8] c">> \00" ; [#uses=1] +@.str16 = private constant [4 x i8] c"arg\00" ; [#uses=1] +@.str17 = private constant [2 x i8] c"-\00" ; [#uses=1] +@.str18 = private constant [3 x i8] c"--\00" ; [#uses=1] +@.str19 = private constant [29 x i8] c"too many arguments to script\00" ; [#uses=1] +@.str20 = private constant [16 x i8] c"=(command line)\00" ; [#uses=1] +@.str21 = private constant [8 x i8] c"require\00" ; [#uses=1] +@.str22 = private constant [52 x i8] c"Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio\00" ; [#uses=1] +@stderr = external global %struct._IO_FILE* ; [#uses=10] +@.str23 = private constant [307 x i8] c"usage: %s [options] [script [args]].\0AAvailable options are:\0A -e stat execute string 'stat'\0A -l name require library 'name'\0A -i enter interactive mode after executing 'script'\0A -v show version information\0A -- stop handling options\0A - execute stdin and stop handling options\0A\00" ; [#uses=1] +@.str24 = private constant [9 x i8] c"LUA_INIT\00" ; [#uses=1] +@.str25 = private constant [10 x i8] c"=LUA_INIT\00" ; [#uses=1] +@.str26 = private constant [5 x i8] c"%s: \00" ; [#uses=1] +@.str27 = private constant [4 x i8] c"%s\0A\00" ; [#uses=1] +@.str28 = private constant [23 x i8] c"no calling environment\00" ; [#uses=1] +@.str129 = private constant [9 x i8] c"no value\00" ; [#uses=1] +@.str230 = private constant [2 x i8] c"?\00" ; [#uses=1] +@.str331 = private constant [1 x i8] zeroinitializer ; [#uses=1] +@.str432 = private constant [35 x i8] c"function or expression too complex\00" ; [#uses=1] +@.str1533 = private constant [19 x i8] c"code size overflow\00" ; [#uses=1] +@.str2634 = private constant [24 x i8] c"constant table overflow\00" ; [#uses=1] +@.str37 = private constant [27 x i8] c"control structure too long\00" ; [#uses=1] +@.str835 = private constant [35 x i8] c"attempt to %s %s '%s' (a %s value)\00" ; [#uses=1] +@.str1936 = private constant [25 x i8] c"attempt to %s a %s value\00" ; [#uses=1] +@.str210 = private constant [12 x i8] c"concatenate\00" ; [#uses=1] +@.str311 = private constant [22 x i8] c"perform arithmetic on\00" ; [#uses=1] +@.str412 = private constant [33 x i8] c"attempt to compare two %s values\00" ; [#uses=1] +@.str537 = private constant [30 x i8] c"attempt to compare %s with %s\00" ; [#uses=1] +@.str638 = private constant [10 x i8] c"%s:%d: %s\00" ; [#uses=1] +@.str739 = private constant [6 x i8] c"local\00" ; [#uses=1] +@.str813 = private constant [7 x i8] c"global\00" ; [#uses=1] +@.str940 = private constant [6 x i8] c"field\00" ; [#uses=1] +@.str1041 = private constant [2 x i8] c"?\00" ; [#uses=1] +@.str1142 = private constant [8 x i8] c"upvalue\00" ; [#uses=1] +@.str1243 = private constant [7 x i8] c"method\00" ; [#uses=1] +@.str1344 = private constant [1 x i8] zeroinitializer ; [#uses=1] +@.str1445 = private constant [5 x i8] c"=[C]\00" ; [#uses=1] +@.str1514 = private constant [2 x i8] c"C\00" ; [#uses=1] +@.str1646 = private constant [5 x i8] c"main\00" ; [#uses=1] +@.str1747 = private constant [4 x i8] c"Lua\00" ; [#uses=1] +@.str1848 = private constant [5 x i8] c"tail\00" ; [#uses=1] +@.str1915 = private constant [13 x i8] c"=(tail call)\00" ; [#uses=1] +@.str2049 = private constant [13 x i8] c"(*temporary)\00" ; [#uses=1] +@.str2150 = private constant [18 x i8] c"not enough memory\00" ; [#uses=1] +@.str122 = private constant [24 x i8] c"error in error handling\00" ; [#uses=1] +@_ZTVN10__cxxabiv119__pointer_type_infoE = external global i8* ; [#uses=1] +@_ZTSP11lua_longjmp = weak_odr constant [15 x i8] c"P11lua_longjmp\00" ; [#uses=1] +@_ZTVN10__cxxabiv117__class_type_infoE = external global i8* ; [#uses=1] +@_ZTS11lua_longjmp = weak_odr constant [14 x i8] c"11lua_longjmp\00" ; [#uses=1] +@_ZTI11lua_longjmp = weak_odr constant %5 { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([14 x i8]* @_ZTS11lua_longjmp, i32 0, i32 0) } ; [#uses=1] +@_ZTIP11lua_longjmp = weak_odr constant %6 { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv119__pointer_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([15 x i8]* @_ZTSP11lua_longjmp, i32 0, i32 0), i32 0, i8* bitcast (%5* @_ZTI11lua_longjmp to i8*) } ; [#uses=1] +@.str223 = private constant [17 x i8] c"C stack overflow\00" ; [#uses=1] +@.str324 = private constant [38 x i8] c"cannot resume non-suspended coroutine\00" ; [#uses=1] +@.str425 = private constant [51 x i8] c"attempt to yield across metamethod/C-call boundary\00" ; [#uses=1] +@.str526 = private constant [5 x i8] c"\1BLua\00" ; [#uses=1] +@.str627 = private constant [15 x i8] c"stack overflow\00" ; [#uses=1] +@.str728 = private constant [2 x i8] c"n\00" ; [#uses=1] +@.str829 = private constant [5 x i8] c"call\00" ; [#uses=1] +@.str47 = private constant [4 x i8] c"and\00" ; [#uses=1] +@.str148 = private constant [6 x i8] c"break\00" ; [#uses=1] +@.str249 = private constant [3 x i8] c"do\00" ; [#uses=1] +@.str350 = private constant [5 x i8] c"else\00" ; [#uses=1] +@.str451 = private constant [7 x i8] c"elseif\00" ; [#uses=1] +@.str552 = private constant [4 x i8] c"end\00" ; [#uses=1] +@.str653 = private constant [6 x i8] c"false\00" ; [#uses=1] +@.str754 = private constant [4 x i8] c"for\00" ; [#uses=1] +@.str855 = private constant [9 x i8] c"function\00" ; [#uses=1] +@.str956 = private constant [3 x i8] c"if\00" ; [#uses=1] +@.str1057 = private constant [3 x i8] c"in\00" ; [#uses=1] +@.str1158 = private constant [6 x i8] c"local\00" ; [#uses=1] +@.str1259 = private constant [4 x i8] c"nil\00" ; [#uses=1] +@.str1360 = private constant [4 x i8] c"not\00" ; [#uses=1] +@.str1461 = private constant [3 x i8] c"or\00" ; [#uses=1] +@.str1562 = private constant [7 x i8] c"repeat\00" ; [#uses=1] +@.str1663 = private constant [7 x i8] c"return\00" ; [#uses=1] +@.str1764 = private constant [5 x i8] c"then\00" ; [#uses=1] +@.str1865 = private constant [5 x i8] c"true\00" ; [#uses=1] +@.str1966 = private constant [6 x i8] c"until\00" ; [#uses=1] +@.str2067 = private constant [6 x i8] c"while\00" ; [#uses=1] +@.str2168 = private constant [3 x i8] c"..\00" ; [#uses=1] +@.str2251 = private constant [4 x i8] c"...\00" ; [#uses=1] +@.str2352 = private constant [3 x i8] c"==\00" ; [#uses=1] +@.str2453 = private constant [3 x i8] c">=\00" ; [#uses=1] +@.str2554 = private constant [3 x i8] c"<=\00" ; [#uses=1] +@.str2669 = private constant [3 x i8] c"~=\00" ; [#uses=1] +@.str2755 = private constant [9 x i8] c"<number>\00" ; [#uses=1] +@.str2856 = private constant [7 x i8] c"<name>\00" ; [#uses=1] +@.str29 = private constant [9 x i8] c"<string>\00" ; [#uses=1] +@.str30 = private constant [6 x i8] c"<eof>\00" ; [#uses=1] +@luaX_tokens = hidden constant [32 x i8*] [i8* getelementptr inbounds ([4 x i8]* @.str47, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str148, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str249, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str350, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str451, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str552, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str653, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str754, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str855, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str956, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str1057, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str1158, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str1259, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str1360, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str1461, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str1562, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str1663, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str1764, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str1865, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str1966, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str2067, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str2168, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str2251, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str2352, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str2453, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str2554, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str2669, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str2755, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str2856, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str29, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str30, i32 0, i32 0), i8* null], align 4 ; [#uses=3] +@.str31 = private constant [9 x i8] c"char(%d)\00" ; [#uses=1] +@.str32 = private constant [3 x i8] c"%c\00" ; [#uses=1] +@.str33 = private constant [10 x i8] c"%s:%d: %s\00" ; [#uses=1] +@.str34 = private constant [13 x i8] c"%s near '%s'\00" ; [#uses=1] +@.str35 = private constant [30 x i8] c"invalid long string delimiter\00" ; [#uses=1] +@.str36 = private constant [2 x i8] c".\00" ; [#uses=1] +@.str3770 = private constant [3 x i8] c"Ee\00" ; [#uses=1] +@.str38 = private constant [3 x i8] c"+-\00" ; [#uses=1] +@.str39 = private constant [17 x i8] c"malformed number\00" ; [#uses=1] +@.str40 = private constant [25 x i8] c"lexical element too long\00" ; [#uses=1] +@.str41 = private constant [18 x i8] c"unfinished string\00" ; [#uses=1] +@.str42 = private constant [26 x i8] c"escape sequence too large\00" ; [#uses=1] +@.str43 = private constant [23 x i8] c"unfinished long string\00" ; [#uses=1] +@.str44 = private constant [24 x i8] c"unfinished long comment\00" ; [#uses=1] +@.str45 = private constant [33 x i8] c"nesting of [[...]] is deprecated\00" ; [#uses=1] +@.str46 = private constant [25 x i8] c"chunk has too many lines\00" ; [#uses=1] +@.str72 = private constant [39 x i8] c"memory allocation error: block too big\00" ; [#uses=1] +@luaO_nilobject_ = hidden global %7 { %8 { %union.GCObject* null, [4 x i8] undef }, i32 0 }, align 4 ; [#uses=1] +@_ZZ9luaO_log2jE5log_2 = internal constant [256 x i8] c"\00\01\02\02\03\03\03\03\04\04\04\04\04\04\04\04\05\05\05\05\05\05\05\05\05\05\05\05\05\05\05\05\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08", align 1 ; [#uses=1] +@.str77 = private constant [1 x i8] zeroinitializer ; [#uses=1] +@.str178 = private constant [7 x i8] c"(null)\00" ; [#uses=1] +@.str279 = private constant [3 x i8] c"%p\00" ; [#uses=1] +@.str380 = private constant [2 x i8] c"%\00" ; [#uses=1] +@.str481 = private constant [4 x i8] c"...\00" ; [#uses=1] +@.str582 = private constant [3 x i8] c"\0A\0D\00" ; [#uses=1] +@.str683 = private constant [10 x i8] c"[string \22\00" ; [#uses=1] +@.str784 = private constant [3 x i8] c"\22]\00" ; [#uses=1] +@.str90 = private constant [5 x i8] c"MOVE\00" ; [#uses=1] +@.str191 = private constant [6 x i8] c"LOADK\00" ; [#uses=1] +@.str292 = private constant [9 x i8] c"LOADBOOL\00" ; [#uses=1] +@.str393 = private constant [8 x i8] c"LOADNIL\00" ; [#uses=1] +@.str494 = private constant [9 x i8] c"GETUPVAL\00" ; [#uses=1] +@.str595 = private constant [10 x i8] c"GETGLOBAL\00" ; [#uses=1] +@.str696 = private constant [9 x i8] c"GETTABLE\00" ; [#uses=1] +@.str797 = private constant [10 x i8] c"SETGLOBAL\00" ; [#uses=1] +@.str898 = private constant [9 x i8] c"SETUPVAL\00" ; [#uses=1] +@.str999 = private constant [9 x i8] c"SETTABLE\00" ; [#uses=1] +@.str10100 = private constant [9 x i8] c"NEWTABLE\00" ; [#uses=1] +@.str11101 = private constant [5 x i8] c"SELF\00" ; [#uses=1] +@.str12102 = private constant [4 x i8] c"ADD\00" ; [#uses=1] +@.str13103 = private constant [4 x i8] c"SUB\00" ; [#uses=1] +@.str14104 = private constant [4 x i8] c"MUL\00" ; [#uses=1] +@.str15105 = private constant [4 x i8] c"DIV\00" ; [#uses=1] +@.str16106 = private constant [4 x i8] c"MOD\00" ; [#uses=1] +@.str17107 = private constant [4 x i8] c"POW\00" ; [#uses=1] +@.str18108 = private constant [4 x i8] c"UNM\00" ; [#uses=1] +@.str19109 = private constant [4 x i8] c"NOT\00" ; [#uses=1] +@.str20110 = private constant [4 x i8] c"LEN\00" ; [#uses=1] +@.str21111 = private constant [7 x i8] c"CONCAT\00" ; [#uses=1] +@.str22112 = private constant [4 x i8] c"JMP\00" ; [#uses=1] +@.str23113 = private constant [3 x i8] c"EQ\00" ; [#uses=1] +@.str24114 = private constant [3 x i8] c"LT\00" ; [#uses=1] +@.str25115 = private constant [3 x i8] c"LE\00" ; [#uses=1] +@.str26116 = private constant [5 x i8] c"TEST\00" ; [#uses=1] +@.str27117 = private constant [8 x i8] c"TESTSET\00" ; [#uses=1] +@.str28118 = private constant [5 x i8] c"CALL\00" ; [#uses=1] +@.str29119 = private constant [9 x i8] c"TAILCALL\00" ; [#uses=1] +@.str30120 = private constant [7 x i8] c"RETURN\00" ; [#uses=1] +@.str31121 = private constant [8 x i8] c"FORLOOP\00" ; [#uses=1] +@.str32122 = private constant [8 x i8] c"FORPREP\00" ; [#uses=1] +@.str33123 = private constant [9 x i8] c"TFORLOOP\00" ; [#uses=1] +@.str34124 = private constant [8 x i8] c"SETLIST\00" ; [#uses=1] +@.str35125 = private constant [6 x i8] c"CLOSE\00" ; [#uses=1] +@.str36126 = private constant [8 x i8] c"CLOSURE\00" ; [#uses=1] +@.str37127 = private constant [7 x i8] c"VARARG\00" ; [#uses=1] +@luaP_opnames = hidden constant [39 x i8*] [i8* getelementptr inbounds ([5 x i8]* @.str90, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str191, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str292, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str393, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str494, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str595, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str696, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str797, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str898, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str999, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str10100, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str11101, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str12102, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str13103, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str14104, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str15105, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str16106, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str17107, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str18108, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str19109, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str20110, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str21111, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str22112, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str23113, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str24114, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str25115, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str26116, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str27117, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str28118, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str29119, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str30120, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str31121, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str32122, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str33123, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str34124, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str35125, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str36126, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str37127, i32 0, i32 0), i8* null], align 4 ; [#uses=0] +@luaP_opmodes = hidden constant [38 x i8] c"`qT`Pql1\10<Tl||||||```h\22\BC\BC\BC\E4\E4TT\10bb\84\14\00QP", align 1 ; [#uses=8] +@.str12957 = private constant [13 x i8] c"syntax error\00" ; [#uses=1] +@.str1130 = private constant [24 x i8] c"variables in assignment\00" ; [#uses=1] +@_ZL8priority = internal global [15 x %struct.upvaldesc] [%struct.upvaldesc { i8 6, i8 6 }, %struct.upvaldesc { i8 6, i8 6 }, %struct.upvaldesc { i8 7, i8 7 }, %struct.upvaldesc { i8 7, i8 7 }, %struct.upvaldesc { i8 7, i8 7 }, %struct.upvaldesc { i8 10, i8 9 }, %struct.upvaldesc { i8 5, i8 4 }, %struct.upvaldesc { i8 3, i8 3 }, %struct.upvaldesc { i8 3, i8 3 }, %struct.upvaldesc { i8 3, i8 3 }, %struct.upvaldesc { i8 3, i8 3 }, %struct.upvaldesc { i8 3, i8 3 }, %struct.upvaldesc { i8 3, i8 3 }, %struct.upvaldesc { i8 2, i8 2 }, %struct.upvaldesc { i8 1, i8 1 }], align 1 ; [#uses=2] +@.str2131 = private constant [43 x i8] c"cannot use '...' outside a vararg function\00" ; [#uses=1] +@.str3132 = private constant [5 x i8] c"self\00" ; [#uses=1] +@.str4133 = private constant [24 x i8] c"constant table overflow\00" ; [#uses=1] +@.str5134 = private constant [4 x i8] c"arg\00" ; [#uses=1] +@.str6135 = private constant [25 x i8] c"<name> or '...' expected\00" ; [#uses=1] +@.str7136 = private constant [16 x i8] c"local variables\00" ; [#uses=1] +@.str8137 = private constant [25 x i8] c"too many local variables\00" ; [#uses=1] +@.str9138 = private constant [23 x i8] c"items in a constructor\00" ; [#uses=1] +@.str10139 = private constant [34 x i8] c"main function has more than %d %s\00" ; [#uses=1] +@.str11140 = private constant [40 x i8] c"function at line %d has more than %d %s\00" ; [#uses=1] +@.str12141 = private constant [49 x i8] c"ambiguous syntax (function call x new statement)\00" ; [#uses=1] +@.str13142 = private constant [28 x i8] c"function arguments expected\00" ; [#uses=1] +@.str14143 = private constant [18 x i8] c"unexpected symbol\00" ; [#uses=1] +@.str15144 = private constant [9 x i8] c"upvalues\00" ; [#uses=1] +@.str16145 = private constant [1 x i8] zeroinitializer ; [#uses=1] +@.str17146 = private constant [17 x i8] c"no loop to break\00" ; [#uses=1] +@.str18147 = private constant [21 x i8] c"'=' or 'in' expected\00" ; [#uses=1] +@.str19148 = private constant [16 x i8] c"(for generator)\00" ; [#uses=1] +@.str20149 = private constant [12 x i8] c"(for state)\00" ; [#uses=1] +@.str21150 = private constant [14 x i8] c"(for control)\00" ; [#uses=1] +@.str22151 = private constant [12 x i8] c"(for index)\00" ; [#uses=1] +@.str23152 = private constant [12 x i8] c"(for limit)\00" ; [#uses=1] +@.str24153 = private constant [11 x i8] c"(for step)\00" ; [#uses=1] +@.str25154 = private constant [41 x i8] c"'%s' expected (to close '%s' at line %d)\00" ; [#uses=1] +@.str26155 = private constant [14 x i8] c"'%s' expected\00" ; [#uses=1] +@.str27156 = private constant [33 x i8] c"chunk has too many syntax levels\00" ; [#uses=1] +@.str158 = private constant [18 x i8] c"not enough memory\00" ; [#uses=1] +@_ZL10dummynode_ = internal global %9 { %7 { %8 { %union.GCObject* null, [4 x i8] undef }, i32 0 }, %10 { %11 { %8 { %union.GCObject* null, [4 x i8] undef }, i32 0, %struct.Node* null } } }, align 4 ; [#uses=1] +@.str164 = private constant [19 x i8] c"table index is nil\00" ; [#uses=1] +@.str1165 = private constant [19 x i8] c"table index is NaN\00" ; [#uses=1] +@.str2166 = private constant [15 x i8] c"table overflow\00" ; [#uses=1] +@.str3167 = private constant [22 x i8] c"invalid key to 'next'\00" ; [#uses=1] +@.str177 = private constant [4 x i8] c"nil\00" ; [#uses=1] +@.str1178 = private constant [8 x i8] c"boolean\00" ; [#uses=1] +@.str2179 = private constant [9 x i8] c"userdata\00" ; [#uses=1] +@.str3180 = private constant [7 x i8] c"number\00" ; [#uses=1] +@.str4181 = private constant [7 x i8] c"string\00" ; [#uses=1] +@.str5182 = private constant [6 x i8] c"table\00" ; [#uses=1] +@.str6183 = private constant [9 x i8] c"function\00" ; [#uses=1] +@.str7184 = private constant [7 x i8] c"thread\00" ; [#uses=1] +@.str8185 = private constant [6 x i8] c"proto\00" ; [#uses=1] +@.str9186 = private constant [6 x i8] c"upval\00" ; [#uses=1] +@luaT_typenames = hidden constant [11 x i8*] [i8* getelementptr inbounds ([4 x i8]* @.str177, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str1178, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str2179, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str3180, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str4181, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str5182, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str6183, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str2179, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str7184, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str8185, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str9186, i32 0, i32 0)], align 4 ; [#uses=1] +@_ZZ9luaT_initP9lua_StateE14luaT_eventname = internal constant [17 x i8*] [i8* getelementptr inbounds ([8 x i8]* @.str10188, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str11189, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str12190, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str13191, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str14192, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str15193, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str16194, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str17195, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str18196, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str19197, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str20198, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str21199, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str22200, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str23201, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str24202, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str25203, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str26204, i32 0, i32 0)], align 4 ; [#uses=2] +@.str10188 = private constant [8 x i8] c"__index\00" ; [#uses=1] +@.str11189 = private constant [11 x i8] c"__newindex\00" ; [#uses=1] +@.str12190 = private constant [5 x i8] c"__gc\00" ; [#uses=1] +@.str13191 = private constant [7 x i8] c"__mode\00" ; [#uses=1] +@.str14192 = private constant [5 x i8] c"__eq\00" ; [#uses=1] +@.str15193 = private constant [6 x i8] c"__add\00" ; [#uses=1] +@.str16194 = private constant [6 x i8] c"__sub\00" ; [#uses=1] +@.str17195 = private constant [6 x i8] c"__mul\00" ; [#uses=1] +@.str18196 = private constant [6 x i8] c"__div\00" ; [#uses=1] +@.str19197 = private constant [6 x i8] c"__mod\00" ; [#uses=1] +@.str20198 = private constant [6 x i8] c"__pow\00" ; [#uses=1] +@.str21199 = private constant [6 x i8] c"__unm\00" ; [#uses=1] +@.str22200 = private constant [6 x i8] c"__len\00" ; [#uses=1] +@.str23201 = private constant [5 x i8] c"__lt\00" ; [#uses=1] +@.str24202 = private constant [5 x i8] c"__le\00" ; [#uses=1] +@.str25203 = private constant [9 x i8] c"__concat\00" ; [#uses=1] +@.str26204 = private constant [7 x i8] c"__call\00" ; [#uses=1] +@.str208 = private constant [5 x i8] c"\1BLua\00" ; [#uses=1] +@.str1209 = private constant [14 x i8] c"binary string\00" ; [#uses=1] +@.str2210 = private constant [3 x i8] c"=?\00" ; [#uses=1] +@.str3211 = private constant [14 x i8] c"code too deep\00" ; [#uses=1] +@.str4212 = private constant [9 x i8] c"bad code\00" ; [#uses=1] +@.str5213 = private constant [15 x i8] c"unexpected end\00" ; [#uses=1] +@.str6214 = private constant [13 x i8] c"bad constant\00" ; [#uses=1] +@.str7215 = private constant [12 x i8] c"bad integer\00" ; [#uses=1] +@.str8216 = private constant [28 x i8] c"%s: %s in precompiled chunk\00" ; [#uses=1] +@.str9217 = private constant [11 x i8] c"bad header\00" ; [#uses=1] +@.str220 = private constant [6 x i8] c"%.14g\00" ; [#uses=1] +@.str1221 = private constant [6 x i8] c"index\00" ; [#uses=1] +@.str2222 = private constant [17 x i8] c"loop in gettable\00" ; [#uses=1] +@.str3223 = private constant [17 x i8] c"loop in settable\00" ; [#uses=1] +@.str4224 = private constant [23 x i8] c"string length overflow\00" ; [#uses=1] +@.str5225 = private constant [14 x i8] c"get length of\00" ; [#uses=1] +@.str6226 = private constant [37 x i8] c"'for' initial value must be a number\00" ; [#uses=1] +@.str7227 = private constant [29 x i8] c"'for' limit must be a number\00" ; [#uses=1] +@.str8228 = private constant [28 x i8] c"'for' step must be a number\00" ; [#uses=1] +@.str242 = private constant [22 x i8] c"bad argument #%d (%s)\00" ; [#uses=1] +@.str124358 = private constant [2 x i8] c"n\00" ; [#uses=1] +@.str2244 = private constant [7 x i8] c"method\00" ; [#uses=1] +@.str3245 = private constant [30 x i8] c"calling '%s' on bad self (%s)\00" ; [#uses=1] +@.str4246 = private constant [2 x i8] c"?\00" ; [#uses=1] +@.str5247 = private constant [30 x i8] c"bad argument #%d to '%s' (%s)\00" ; [#uses=1] +@.str6248 = private constant [20 x i8] c"%s expected, got %s\00" ; [#uses=1] +@.str7249 = private constant [3 x i8] c"Sl\00" ; [#uses=1] +@.str8250 = private constant [8 x i8] c"%s:%d: \00" ; [#uses=1] +@.str9251 = private constant [1 x i8] zeroinitializer ; [#uses=1] +@.str10252 = private constant [20 x i8] c"invalid option '%s'\00" ; [#uses=1] +@.str11253 = private constant [20 x i8] c"stack overflow (%s)\00" ; [#uses=1] +@.str12254 = private constant [15 x i8] c"value expected\00" ; [#uses=1] +@.str13255 = private constant [8 x i8] c"_LOADED\00" ; [#uses=1] +@.str14256 = private constant [30 x i8] c"name conflict for module '%s'\00" ; [#uses=1] +@.str15257 = private constant [7 x i8] c"=stdin\00" ; [#uses=1] +@.str16258 = private constant [4 x i8] c"@%s\00" ; [#uses=1] +@.str17259 = private constant [2 x i8] c"r\00" ; [#uses=1] +@.str18260 = private constant [5 x i8] c"open\00" ; [#uses=1] +@.str19261 = private constant [5 x i8] c"\1BLua\00" ; [#uses=1] +@.str20262 = private constant [3 x i8] c"rb\00" ; [#uses=1] +@.str21263 = private constant [7 x i8] c"reopen\00" ; [#uses=1] +@.str22264 = private constant [5 x i8] c"read\00" ; [#uses=1] +@.str23265 = private constant [50 x i8] c"PANIC: unprotected error in call to Lua API (%s)\0A\00" ; [#uses=1] +@.str24266 = private constant [2 x i8] c"\0A\00" ; [#uses=1] +@.str25267 = private constant [17 x i8] c"cannot %s %s: %s\00" ; [#uses=1] +@.str268 = private constant [7 x i8] c"assert\00" ; [#uses=1] +@.str1269 = private constant [15 x i8] c"collectgarbage\00" ; [#uses=1] +@.str2270 = private constant [7 x i8] c"dofile\00" ; [#uses=1] +@.str3271 = private constant [6 x i8] c"error\00" ; [#uses=1] +@.str4272 = private constant [7 x i8] c"gcinfo\00" ; [#uses=1] +@.str5273 = private constant [8 x i8] c"getfenv\00" ; [#uses=1] +@.str6274 = private constant [13 x i8] c"getmetatable\00" ; [#uses=1] +@.str7275 = private constant [9 x i8] c"loadfile\00" ; [#uses=1] +@.str8276 = private constant [5 x i8] c"load\00" ; [#uses=1] +@.str9277 = private constant [11 x i8] c"loadstring\00" ; [#uses=1] +@.str10278 = private constant [5 x i8] c"next\00" ; [#uses=1] +@.str11279 = private constant [6 x i8] c"pcall\00" ; [#uses=1] +@.str12280 = private constant [6 x i8] c"print\00" ; [#uses=1] +@.str13281 = private constant [9 x i8] c"rawequal\00" ; [#uses=1] +@.str14282 = private constant [7 x i8] c"rawget\00" ; [#uses=1] +@.str15283 = private constant [7 x i8] c"rawset\00" ; [#uses=1] +@.str16284 = private constant [7 x i8] c"select\00" ; [#uses=1] +@.str17285 = private constant [8 x i8] c"setfenv\00" ; [#uses=1] +@.str18286 = private constant [13 x i8] c"setmetatable\00" ; [#uses=1] +@.str19287 = private constant [9 x i8] c"tonumber\00" ; [#uses=1] +@.str20288 = private constant [9 x i8] c"tostring\00" ; [#uses=1] +@.str21289 = private constant [5 x i8] c"type\00" ; [#uses=1] +@.str22290 = private constant [7 x i8] c"unpack\00" ; [#uses=1] +@.str23291 = private constant [7 x i8] c"xpcall\00" ; [#uses=1] +@_ZL10base_funcs = internal global [25 x %struct.luaL_Reg] [%struct.luaL_Reg { i8* getelementptr inbounds ([7 x i8]* @.str268, i32 0, i32 0), i32 (%struct.lua_State*)* @_Z11luaB_assertP9lua_State }, %struct.luaL_Reg { i8* getelementptr inbounds ([15 x i8]* @.str1269, i32 0, i32 0), i32 (%struct.lua_State*)* @_Z19luaB_collectgarbageP9lua_State }, %struct.luaL_Reg { i8* getelementptr inbounds ([7 x i8]* @.str2270, i32 0, i32 0), i32 (%struct.lua_State*)* @_Z11luaB_dofileP9lua_State }, %struct.luaL_Reg { i8* getelementptr inbounds ([6 x i8]* @.str3271, i32 0, i32 0), i32 (%struc |