diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-10-10 21:20:40 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-10-10 21:20:40 +0000 |
commit | 7b2dd1927731b894f5ef610528649a2d1fc555f2 (patch) | |
tree | 6d8ad29a1ec8783601787f4b9216fa6409bb9780 /src/expr/node_builder.h | |
parent | 318e836ed5f6bd76d378dfce1c707b9908a1c5e1 (diff) |
Abstract values for SMT-LIB.
Also fix bug 421 relating to incrementality and models.
(this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'src/expr/node_builder.h')
-rw-r--r-- | src/expr/node_builder.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/expr/node_builder.h b/src/expr/node_builder.h index 0c8ac40f8..351cf3639 100644 --- a/src/expr/node_builder.h +++ b/src/expr/node_builder.h @@ -1305,7 +1305,14 @@ inline void NodeBuilder<nchild_thresh>::maybeCheckType(const TNode n) const kind::MetaKind mk = n.getMetaKind(); if( mk != kind::metakind::VARIABLE && mk != kind::metakind::CONSTANT ) { - d_nm->getType(n, true); + try { + d_nm->getType(n, true); + } catch(UnknownTypeException&) { + // Ignore the error; this expression doesn't have a type, + // because it has an abstract value in it. If the user + // depends on the type of this expression, he should get an + // exception, but so far he's only constructed it. + } } } } |