00001 /* 00002 ** (c) 1996-2000 The Regents of the University of California (through 00003 ** E.O. Lawrence Berkeley National Laboratory), subject to approval by 00004 ** the U.S. Department of Energy. Your use of this software is under 00005 ** license -- the license agreement is attached and included in the 00006 ** directory as license.txt or you may contact Berkeley Lab's Technology 00007 ** Transfer Department at TTD@lbl.gov. NOTICE OF U.S. GOVERNMENT RIGHTS. 00008 ** The Software was developed under funding from the U.S. Government 00009 ** which consequently retains certain rights as follows: the 00010 ** U.S. Government has been granted for itself and others acting on its 00011 ** behalf a paid-up, nonexclusive, irrevocable, worldwide license in the 00012 ** Software to reproduce, prepare derivative works, and perform publicly 00013 ** and display publicly. Beginning five (5) years after the date 00014 ** permission to assert copyright is obtained from the U.S. Department of 00015 ** Energy, and subject to any subsequent five (5) year renewals, the 00016 ** U.S. Government is granted for itself and others acting on its behalf 00017 ** a paid-up, nonexclusive, irrevocable, worldwide license in the 00018 ** Software to reproduce, prepare derivative works, distribute copies to 00019 ** the public, perform publicly and display publicly, and to permit 00020 ** others to do so. 00021 */ 00022 00023 #ifndef BL_BLASSERT_H 00024 #define BL_BLASSERT_H 00025 00026 // 00027 // $Id: BLassert.H,v 1.5 2001/07/17 23:02:18 lijewski Exp $ 00028 // 00029 00030 #include <BoxLib.H> 00031 00032 #ifdef BL_ASSERT 00033 #undef BL_ASSERT 00034 #endif 00035 00036 #if defined(NDEBUG) 00037 00058 #define BL_ASSERT(EX) ((void)0) 00059 #else 00060 #if defined(__sgi) || defined(__hpux) 00061 // 00062 // The problem here is that some brain-dead compilers cannot deal with a 00063 // void argument to the ternary operator. Currently SGI's OCC and CC on 00064 // HP-UX 9.0.1 have this problem. 00065 // 00066 #define BL_ASSERT(EX) if ((EX)) ; else BoxLib::Assert( # EX , __FILE__, __LINE__) 00067 #else 00068 #define BL_ASSERT(EX) (EX)?((void)0):BoxLib::Assert( # EX , __FILE__, __LINE__) 00069 #endif 00070 #endif 00071 00072 #endif /*BL_BL_ASSERT_H*/