summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-01-26 07:29:41 +0000
committerMorgan Deters <mdeters@gmail.com>2010-01-26 07:29:41 +0000
commit21e01d42ed4c0b6d9fa5855c2e0cfc1a3765d14f (patch)
treeec785ced868a294e72cc751a293c618488743c8b /src/util
parentf2d38a8522579f9b3e434f76a9426fa8d2f06d07 (diff)
fixes to build structure, util classes, lots of fixes to Node and NodeBuilder. outstanding SEGVs fixed
Diffstat (limited to 'src/util')
-rw-r--r--src/util/Assert.h24
-rw-r--r--src/util/Makefile.in2
-rw-r--r--src/util/output.h2
3 files changed, 27 insertions, 1 deletions
diff --git a/src/util/Assert.h b/src/util/Assert.h
index 49c97e9b6..d8e881613 100644
--- a/src/util/Assert.h
+++ b/src/util/Assert.h
@@ -113,6 +113,28 @@ public:
}
};/* class UnhandledCaseException */
+class CVC4_PUBLIC UnimplementedOperationException : public AssertionException {
+protected:
+ UnimplementedOperationException() : AssertionException() {}
+
+public:
+ UnimplementedOperationException(const char* function, const char* file,
+ unsigned line, const char* fmt, ...) :
+ AssertionException() {
+ va_list args;
+ va_start(args, fmt);
+ construct("Unimplemented code encountered",
+ NULL, function, file, line, fmt, args);
+ va_end(args);
+ }
+
+ UnimplementedOperationException(const char* function, const char* file,
+ unsigned line) :
+ AssertionException() {
+ construct("Unimplemented code encountered", NULL, function, file, line);
+ }
+};/* class UnimplementedOperationException */
+
class CVC4_PUBLIC IllegalArgumentException : public AssertionException {
protected:
IllegalArgumentException() : AssertionException() {}
@@ -172,6 +194,8 @@ public:
throw UnreachableCodeException(__PRETTY_FUNCTION__, __FILE__, __LINE__, ## msg)
#define Unhandled(msg...) \
throw UnhandledCaseException(__PRETTY_FUNCTION__, __FILE__, __LINE__, ## msg)
+#define Unimplemented(msg...) \
+ throw UnimplementedOperationException(__PRETTY_FUNCTION__, __FILE__, __LINE__, ## msg)
#define IllegalArgument(arg, msg...) \
throw IllegalArgumentException(#arg, __PRETTY_FUNCTION__, __FILE__, __LINE__, ## msg)
#define CheckArgument(cond, arg, msg...) \
diff --git a/src/util/Makefile.in b/src/util/Makefile.in
index 3ac892aba..686f4cc33 100644
--- a/src/util/Makefile.in
+++ b/src/util/Makefile.in
@@ -93,6 +93,8 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BUILDING_SHARED = @BUILDING_SHARED@
+BUILDING_STATIC = @BUILDING_STATIC@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
diff --git a/src/util/output.h b/src/util/output.h
index 57ce5f3ca..c1e513703 100644
--- a/src/util/output.h
+++ b/src/util/output.h
@@ -55,7 +55,7 @@ public:
// Yeting option not possible here
std::ostream& operator()(const char* tag) {
- if(d_tags.find(tag) != d_tags.end())
+ if(d_tags.find(std::string(tag)) != d_tags.end())
return *d_os;
else return null_os;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback