]> git.ipfire.org Git - thirdparty/gcc.git/blob - libjava/include/java-assert.h
6f178bd9e98c1513588a4570d046628c1ae774d9
[thirdparty/gcc.git] / libjava / include / java-assert.h
1 // java-assert.h - Header file holding assertion definitions. -*- c++ -*-
2
3 /* Copyright (C) 1998, 1999 Free Software Foundation
4
5 This file is part of libgcj.
6
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
9 details. */
10
11 #ifndef __JAVA_ASSERT_H__
12 #define __JAVA_ASSERT_H__
13
14 // This is a libgcj implementation header.
15
16 void _Jv_Abort (const char *, const char *, int, const char *)
17 __attribute__ ((__noreturn__));
18
19 #ifdef DEBUG
20 #define _Jv_AssertDoCall(Message) _Jv_Abort (__FUNCTION__, __FILE__, __LINE__, Message)
21
22 #define JvAssertMessage(Expr, Message) \
23 do { if (! (Expr)) _Jv_AssertDoCall (Message); } while (0)
24 #define JvAssert(Expr) \
25 do { if (! (Expr)) _Jv_AssertDoCall (# Expr); } while (0)
26
27 #define JvFail(Message) _Jv_AssertDoCall (Message)
28
29 #else /* DEBUG */
30
31 #define _Jv_AssertDoCall(Message)
32 #define JvAssertMessage(Expr, Message)
33 #define JvAssert(Expr)
34 #define JvFail(Message) _Jv_Abort (0, 0, 0, Message)
35
36 #endif /* not DEBUG */
37
38 #endif /* __JAVA_ASSERT_H__ */