diff options
| author | Michael Denkowski <michael.j.denkowski@gmail.com> | 2012-12-22 16:01:23 -0500 | 
|---|---|---|
| committer | Michael Denkowski <michael.j.denkowski@gmail.com> | 2012-12-22 16:01:23 -0500 | 
| commit | 597d89c11db53e91bc011eab70fd613bbe6453e8 (patch) | |
| tree | 83c87c07d1ff6d3ee4e3b1626f7eddd49c61095b /klm/util/exception.hh | |
| parent | 65e958ff2678a41c22be7171456a63f002ef370b (diff) | |
| parent | 201af2acd394415a05072fbd53d42584875aa4b4 (diff) | |
Merge branch 'master' of git://github.com/redpony/cdec
Diffstat (limited to 'klm/util/exception.hh')
| -rw-r--r-- | klm/util/exception.hh | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/klm/util/exception.hh b/klm/util/exception.hh index 053a850b..0165a7a3 100644 --- a/klm/util/exception.hh +++ b/klm/util/exception.hh @@ -87,8 +87,14 @@ template <class Except, class Data> typename Except::template ExceptionTag<Excep    throw UTIL_e; \  } while (0) +#if __GNUC__ >= 3 +#define UTIL_UNLIKELY(x) __builtin_expect (!!(x), 0) +#else +#define UTIL_UNLIKELY(x) (x) +#endif +  #define UTIL_THROW_IF(Condition, Exception, Modify) do { \ -  if (Condition) { \ +  if (UTIL_UNLIKELY(Condition)) { \      Exception UTIL_e; \      UTIL_SET_LOCATION(UTIL_e, #Exception, #Condition); \      UTIL_e << Modify; \ | 
