Changeset: 38124cea27a1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=38124cea27a1 Modified Files: monetdb5/mal/Tests/tst010.stable.err monetdb5/mal/mal_function.c monetdb5/optimizer/opt_support.c testing/Mtest.py.in Branch: jit Log Message:
merge with default diffs (84 lines): diff --git a/monetdb5/mal/Tests/tst010.stable.err b/monetdb5/mal/Tests/tst010.stable.err --- a/monetdb5/mal/Tests/tst010.stable.err +++ b/monetdb5/mal/Tests/tst010.stable.err @@ -78,7 +78,6 @@ ERROR = !SyntaxException:user.main[6]:la !SyntaxException:user.main[30]:exit-label 'B' doesnot match 'A' !SyntaxException:user.main[32]:exit-label 'F' without begin-label !SyntaxException:user.main[42]:exit-label 'A' without begin-label - !SyntaxException:user.main[45]:barrier 'unfinished' without exit in main[46] !SyntaxException:parseError:end foo; !SyntaxException:parseError: ^non matching end label diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c --- a/monetdb5/mal/mal_function.c +++ b/monetdb5/mal/mal_function.c @@ -77,7 +77,7 @@ void chkFlow(stream *out, MalBlkPtr mb) int var[DEPTH]; InstrPtr stmt[DEPTH]; int btop=0; - int retseen=0, yieldseen=0; + int endseen=0, retseen=0, yieldseen=0; int fixed=1; InstrPtr p; @@ -200,6 +200,9 @@ void chkFlow(stream *out, MalBlkPtr mb) break; case RAISEsymbol: break; + case ENDsymbol: + endseen =1; + break; default: if( isaSignature(p) ){ if( p->token == REMsymbol){ @@ -221,6 +224,7 @@ void chkFlow(stream *out, MalBlkPtr mb) #endif mb->errors++; } + if( endseen) for(btop--; btop>=0;btop--){ showScriptException(out, mb,lastInstruction, SYNTAX, "barrier '%s' without exit in %s[%d]", diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c --- a/monetdb5/optimizer/opt_support.c +++ b/monetdb5/optimizer/opt_support.c @@ -251,6 +251,11 @@ optimizeMALBlock(Client cntxt, MalBlkPtr if ( mb->inlineProp) return 0; + /* force at least once a complete type check by resetting the type check flag */ + resetMalBlk(mb,mb->stop); + chkTypes(cntxt->fdout, cntxt->nspace, mb, TRUE); + chkFlow(cntxt->fdout, mb); + chkDeclarations(cntxt->fdout, mb); do { /* any errors should abort the optimizer */ diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -3609,6 +3609,7 @@ def main(argv) : CONDITIONALS['RELEASERUN'] = releaserun jenkins = False addreqs = False + all_tests = False global global_timeout if THISFILE == "Mtest.py": _IGNORE = dftIGNORE @@ -4158,7 +4159,6 @@ def main(argv) : if len(testdirs) == 1: if testlist: tsts = "tests "+str(testlist) - all_tests = False else: tsts = "all tests" all_tests = True @@ -4174,7 +4174,7 @@ def main(argv) : if verbose: print("\nRunning all tests in directories %s.\n" % str(testdirs)) for d in testdirs: - t, elem, diff = PerformDir(env, d, [], BusyPorts) + t, elem, diff = PerformDir(env, d, [], BusyPorts, True) t_ = t_ + t if elem is not None: if diff <= F_OK: _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list