aboutsummaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorMike Pall <mike>2022-06-08 15:36:47 +0200
committerMike Pall <mike>2022-06-08 15:36:47 +0200
commit02da2218ed81cb74979a61de6a0f3a6311496fc6 (patch)
treee54c7a5c2f6a7ba9d9f4316868fa74bc9b043501 /src/host
parent5f70f7723e149d823b3079ad4df33fda1644bd83 (diff)
parent7dc3850e78493eed1e85fa7bc0b96068ae7fb9f4 (diff)
downloadluajit-02da2218ed81cb74979a61de6a0f3a6311496fc6.tar.gz
luajit-02da2218ed81cb74979a61de6a0f3a6311496fc6.tar.bz2
luajit-02da2218ed81cb74979a61de6a0f3a6311496fc6.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src/host')
-rw-r--r--src/host/genminilua.lua7
-rw-r--r--src/host/minilua.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/src/host/genminilua.lua b/src/host/genminilua.lua
index a72ef2ef..e8e86c53 100644
--- a/src/host/genminilua.lua
+++ b/src/host/genminilua.lua
@@ -327,6 +327,12 @@ local function rename_tokens2(src)
327 return gsub(src, "ZY([%w_]+)", "union %1") 327 return gsub(src, "ZY([%w_]+)", "union %1")
328end 328end
329 329
330local function fix_bugs_and_warnings(src)
331 src = gsub(src, "(luaD_checkstack%(L,p%->maxstacksize)%)", "%1+p->numparams)")
332 src = gsub(src, "if%(sep==%-1%)(return'%[';)\nelse (luaX_lexerror%b();)", "if (sep!=-1)%2\n%1")
333 return gsub(src, "(default:{\nNode%*n=mainposition)", "/*fallthrough*/\n%1")
334end
335
330local function func_gather(src) 336local function func_gather(src)
331 local nodes, list = {}, {} 337 local nodes, list = {}, {}
332 local pos, len = 1, #src 338 local pos, len = 1, #src
@@ -425,5 +431,6 @@ src = rename_tokens1(src)
425src = func_collect(src) 431src = func_collect(src)
426src = rename_tokens2(src) 432src = rename_tokens2(src)
427src = restore_strings(src) 433src = restore_strings(src)
434src = fix_bugs_and_warnings(src)
428src = merge_header(src, license) 435src = merge_header(src, license)
429io.write(src) 436io.write(src)
diff --git a/src/host/minilua.c b/src/host/minilua.c
index cfc7491d..76f32aed 100644
--- a/src/host/minilua.c
+++ b/src/host/minilua.c
@@ -1639,6 +1639,7 @@ lua_number2int(k,n);
1639if(luai_numeq(cast_num(k),nvalue(key))) 1639if(luai_numeq(cast_num(k),nvalue(key)))
1640return luaH_getnum(t,k); 1640return luaH_getnum(t,k);
1641} 1641}
1642/*fallthrough*/
1642default:{ 1643default:{
1643Node*n=mainposition(t,key); 1644Node*n=mainposition(t,key);
1644do{ 1645do{
@@ -2905,8 +2906,8 @@ if(sep>=0){
2905read_long_string(ls,seminfo,sep); 2906read_long_string(ls,seminfo,sep);
2906return TK_STRING; 2907return TK_STRING;
2907} 2908}
2908else if(sep==-1)return'['; 2909else if (sep!=-1)luaX_lexerror(ls,"invalid long string delimiter",TK_STRING);
2909else luaX_lexerror(ls,"invalid long string delimiter",TK_STRING); 2910return'[';
2910} 2911}
2911case'=':{ 2912case'=':{
2912next(ls); 2913next(ls);