Add check for undefined variables. Find undefined variables. Fix undefined
variables.
This commit is contained in:
parent
5e84be70fd
commit
b50dc4214a
|
@ -361,7 +361,8 @@ local function loadbuildfile(filename)
|
|||
data, e = fp:read("*a")
|
||||
fp:close()
|
||||
if not e then
|
||||
local thisglobals = {_G = thisglobals}
|
||||
local thisglobals = {}
|
||||
thisglobals._G = thisglobals
|
||||
setmetatable(thisglobals, {__index = globals})
|
||||
chunk, e = load(data, "@"..filename, "text", thisglobals)
|
||||
end
|
||||
|
@ -787,6 +788,18 @@ setmetatable(globals,
|
|||
vars.cflags = {}
|
||||
parente.vars = vars
|
||||
|
||||
setmetatable(_G,
|
||||
{
|
||||
__index = function(self, k)
|
||||
local value = rawget(_G, k)
|
||||
if not value then
|
||||
error(string.format("access of undefined variable '%s'", k))
|
||||
end
|
||||
return value
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
do
|
||||
local emitter_type = install_make_emitter
|
||||
parse_arguments(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
include("util/cmisc/build.lua")
|
||||
|
||||
local allocd_header = definerule(null,
|
||||
local allocd_header = definerule(nil,
|
||||
{
|
||||
srcs = { type="targets" }
|
||||
},
|
||||
|
|
|
@ -26,8 +26,7 @@ definerule("build_ncg",
|
|||
srcs = {
|
||||
"mach/proto/ncg/*.c",
|
||||
"mach/"..e.arch.."/ncg/mach.h",
|
||||
archlib, -- for .c file
|
||||
tables, -- for .c file
|
||||
matching(filenamesof(tables), "%.c$")
|
||||
},
|
||||
deps = {
|
||||
"h+emheaders",
|
||||
|
|
Loading…
Reference in a new issue