| [2] | 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 |
|
|---|
| |
|---|