]> Repositorios git - scryer-prolog.git/commitdiff
fix crashes caused by inlined optimization.
authorMark Thom <[email protected]>
Fri, 9 Feb 2018 07:09:34 +0000 (00:09 -0700)
committerMark Thom <[email protected]>
Fri, 9 Feb 2018 07:09:34 +0000 (00:09 -0700)
src/prolog/ast.rs
src/tests.rs

index 8c419f93787c70fa0346c38ea45c79a0c82e1e86..4d82a1947bb8e8455ce858e0ccd119dd2c2f78a7 100644 (file)
@@ -900,7 +900,6 @@ impl ControlInstruction {
             &ControlInstruction::GotoExecute(..) => true,
             &ControlInstruction::GroundCall => true,
             &ControlInstruction::GroundExecute => true,
-            &ControlInstruction::Proceed => true,
             &ControlInstruction::IsCall(..) => true,
             &ControlInstruction::IsExecute(..) => true,
             &ControlInstruction::JmpByCall(..) => true,
index 07ddd886c436f2b1e9a3bf955053c39179d05f0f..c4382421cf1becd1ccd3c0d33aeb928cca93abfe 100644 (file)
@@ -1297,6 +1297,7 @@ fn test_queries_on_builtins()
     assert_prolog_failure!(&mut wam, "?- float(atom).");
     assert_prolog_failure!(&mut wam, "?- float(structure(functor)).");
     assert_prolog_failure!(&mut wam, "?- float([1,2,3]).");
+    assert_prolog_failure!(&mut wam, "?- float([1,2,X]).");
     assert_prolog_failure!(&mut wam, "?- X is 3 rdiv 4, float(X).");
 
     assert_prolog_success!(&mut wam, "?- X is 3 rdiv 4, rational(X).");
@@ -1305,6 +1306,7 @@ fn test_queries_on_builtins()
     assert_prolog_failure!(&mut wam, "?- rational(atom).");
     assert_prolog_failure!(&mut wam, "?- rational(structure(functor)).");
     assert_prolog_failure!(&mut wam, "?- rational([1,2,3]).");
+    assert_prolog_failure!(&mut wam, "?- rational([1,2,X]).");
 
     assert_prolog_success!(&mut wam, "?- compound(functor(compound)).");
     assert_prolog_failure!(&mut wam, "?- compound(3.14159269).");
@@ -1312,6 +1314,7 @@ fn test_queries_on_builtins()
     assert_prolog_failure!(&mut wam, "?- compound(\"sdfsa\").");
     assert_prolog_failure!(&mut wam, "?- compound(atom).");
     assert_prolog_failure!(&mut wam, "?- compound([1,2,3]).");
+    assert_prolog_failure!(&mut wam, "?- compound([1,2,X]).");
 
     assert_prolog_failure!(&mut wam, "?- string(functor(string)).");
     assert_prolog_failure!(&mut wam, "?- string(3.14159269).");
@@ -1319,6 +1322,7 @@ fn test_queries_on_builtins()
     assert_prolog_success!(&mut wam, "?- string(\"sdfsa\").");
     assert_prolog_failure!(&mut wam, "?- string(atom).");
     assert_prolog_failure!(&mut wam, "?- string([1,2,3]).");
+    assert_prolog_failure!(&mut wam, "?- string([1,2,X]).");
     
     assert_prolog_success!(&mut wam, "?- X = nonvar, nonvar(X).");
     assert_prolog_failure!(&mut wam, "?- nonvar(X).");
@@ -1328,6 +1332,7 @@ fn test_queries_on_builtins()
     assert_prolog_success!(&mut wam, "?- nonvar(\"sdfsa\").");
     assert_prolog_success!(&mut wam, "?- nonvar(atom).");
     assert_prolog_success!(&mut wam, "?- nonvar([1,2,3]).");
+    assert_prolog_success!(&mut wam, "?- nonvar([1,2,X]).");
 
     assert_prolog_success!(&mut wam, "?- A = f(A), ground(f(f(A))), ground(f(A)), ground(A).");
     assert_prolog_failure!(&mut wam, "?- B = f(A), ground(B).");