| // java-assert.h - Header file holding assertion definitions. -*- c++ -*- | |
| /* Copyright (C) 1998, 1999 Free Software Foundation | |
| This file is part of libgcj. | |
| This software is copyrighted work licensed under the terms of the | |
| Libgcj License. Please consult the file "LIBGCJ_LICENSE" for | |
| details. */ | |
| #ifndef __JAVA_ASSERT_H__ | |
| #define __JAVA_ASSERT_H__ | |
| // This is a libgcj implementation header. | |
| void _Jv_Abort (const char *, const char *, int, const char *) | |
| __attribute__ ((__noreturn__)); | |
| #ifdef DEBUG | |
| #define _Jv_AssertDoCall(Message) _Jv_Abort (__FUNCTION__, __FILE__, __LINE__, Message) | |
| #define JvAssertMessage(Expr, Message) \ | |
| do { if (! (Expr)) _Jv_AssertDoCall (Message); } while (0) | |
| #define JvAssert(Expr) \ | |
| do { if (! (Expr)) _Jv_AssertDoCall (# Expr); } while (0) | |
| #define JvFail(Message) _Jv_AssertDoCall (Message) | |
| #else /* DEBUG */ | |
| #define _Jv_AssertDoCall(Message) | |
| #define JvAssertMessage(Expr, Message) | |
| #define JvAssert(Expr) | |
| #define JvFail(Message) _Jv_Abort (0, 0, 0, Message) | |
| #endif /* not DEBUG */ | |
| #endif /* __JAVA_ASSERT_H__ */ |