make return_from_clause macro respect verify_attributes

This commit is contained in:
Mark Thom
2019-04-14 23:15:59 -06:00
parent d3eec10fc5
commit 465f2cc6e5
3 changed files with 7 additions and 3 deletions

View File

@@ -76,8 +76,8 @@ Module : Predicate :-
current_prolog_flag(Flag, false) :- Flag == bounded, !.
current_prolog_flag(bounded, false).
current_prolog_flag(Flag, down) :- Flag == integer_rounding_function, !.
current_prolog_flag(integer_rounding_function, down).
current_prolog_flag(Flag, toward_zero) :- Flag == integer_rounding_function, !.
current_prolog_flag(integer_rounding_function, toward_zero).
current_prolog_flag(Flag, Value) :- Flag == double_quotes, !, '$get_double_quotes'(Value).
current_prolog_flag(double_quotes, Value) :- '$get_double_quotes'(Value).
current_prolog_flag(Flag, _) :- Flag == max_integer, !, '$fail'.

View File

@@ -178,6 +178,10 @@ macro_rules! try_eval_session {
}
macro_rules! return_from_clause {
($lco:expr, $machine_st:expr) => {{
if let CodePtr::VerifyAttrInterrupt(_) = $machine_st.p {
return Ok(());
}
if $lco {
$machine_st.p = CodePtr::Local($machine_st.cp.clone());
} else {