]> git.lyx.org Git - lyx.git/blobdiff - src/support/LAssert.h
Various fixes look at ChangeLog
[lyx.git] / src / support / LAssert.h
index 0463c9e7306c75c6943500c4e08dd9bf5051f16b..f4d92782388bd6f654664eb887fe2827a470bbfc 100644 (file)
@@ -2,42 +2,29 @@
 #ifndef LASSERT_H
 #define LASSERT_H
 
+#include "support/lyxlib.h"
+
 //namespace LyX {
 
-#define HAVE_TEMPLATE
-#ifdef HAVE_TEMPLATE
-//template<class X, class A> inline void Assert(A assertion)
-template<class A> inline void Assert(A assertion)
-{
-       //if (!assertion) throw X();
-       if (!assertion) {
-               abort();
-       }
-}
+#ifdef ENABLE_ASSERTIONS
 
-#ifdef HAVE_PARTIAL_SPECIALIZATION
-// Not too sure if this is the correct way to specialize
-template<class A> inline void Assert(A * ptr)
+template<class A>
+inline
+void Assert(A assertion)
 {
-       if (!ptr) {
-               abort();
+       if (!assertion) {
+               lyx::abort();
        }
 }
-#endif
-
-//template<class A, class E> inline void Assert(A assertion, E except)
-//{
-//     if (!assertion) except;
-//}
 
 #else
 
-inline void lyx_assert(...)
-{
-       // nothing
-}
+template<class A>
+inline
+void Assert(A /*assertion*/) {}
 
-#endif
-#endif
+#endif /* ENABLE_ASSERTIONS */
 
 //} // end of namespace LyX
+#endif /* LASSERT_H */
+