diff options
author | Tom Tromey <tromey@gcc.gnu.org> | 1999-04-07 14:42:40 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1999-04-07 14:42:40 +0000 |
commit | ee9dd3721be68b9fa63dea9aa5a1d86e66958cde (patch) | |
tree | d96801a16fdf03a5682ef98730fe333a46eef944 /libjava/include/java-assert.h | |
parent | 140fa895c6b859f827fc4437b91775a82cd105fb (diff) | |
download | gcc-ee9dd3721be68b9fa63dea9aa5a1d86e66958cde.zip gcc-ee9dd3721be68b9fa63dea9aa5a1d86e66958cde.tar.gz gcc-ee9dd3721be68b9fa63dea9aa5a1d86e66958cde.tar.bz2 |
Initial revision
From-SVN: r26263
Diffstat (limited to 'libjava/include/java-assert.h')
-rw-r--r-- | libjava/include/java-assert.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libjava/include/java-assert.h b/libjava/include/java-assert.h new file mode 100644 index 0000000..6e942f2 --- /dev/null +++ b/libjava/include/java-assert.h @@ -0,0 +1,38 @@ +// java-assert.h - Header file holding assertion definitions. -*- c++ -*- + +/* Copyright (C) 1998, 1999 Cygnus Solutions + + 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__ */ |