diff options
author | Morgan Deters <mdeters@gmail.com> | 2010-01-26 07:29:41 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2010-01-26 07:29:41 +0000 |
commit | 21e01d42ed4c0b6d9fa5855c2e0cfc1a3765d14f (patch) | |
tree | ec785ced868a294e72cc751a293c618488743c8b /src/util | |
parent | f2d38a8522579f9b3e434f76a9426fa8d2f06d07 (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.h | 24 | ||||
-rw-r--r-- | src/util/Makefile.in | 2 | ||||
-rw-r--r-- | src/util/output.h | 2 |
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; } |