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

Reply via email to