passert.h

00001 /*---------------------------------------------------------------------------*
00002  *  passert.h  *
00003  *                                                                           *
00004  *  Copyright 2007 Nuance Communciations, Inc.                               *
00005  *                                                                           *
00006  *  Licensed under the Apache License, Version 2.0 (the 'License');          *
00007  *  you may not use this file except in compliance with the License.         *
00008  *                                                                           *
00009  *  You may obtain a copy of the License at                                  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0                           *
00011  *                                                                           *
00012  *  Unless required by applicable law or agreed to in writing, software      *
00013  *  distributed under the License is distributed on an 'AS IS' BASIS,        *
00014  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 
00015  *  See the License for the specific language governing permissions and      *
00016  *  limitations under the License.                                           *
00017  *                                                                           *
00018  *---------------------------------------------------------------------------*/
00019 
00020 #ifndef PASSERT_H
00021 #define PASSERT_H
00022 
00023 
00024 
00031 #if defined(_WIN32) || defined(POSIX)
00032 
00035 #define HAS_ASSERT
00036 #endif
00037 
00038 #if defined(HAS_ASSERT)
00039 
00040 #include <assert.h>
00041 
00045 #define passert(exp) assert(exp)
00046 
00047 #elif defined(NDEBUG)
00048 
00049 #define passert(exp)
00050 
00051 #else
00052 
00056 #define passert(exp) do { \
00057     if (!(exp)) \
00058     { \
00059       pfprintf(PSTDERR, __FILE__ "(%d): " #exp " failed.\n",__LINE__); \
00060       abort(); \
00061     } \
00062   } \
00063   while(0)
00064 
00065 #endif  /* HAS_ASSERT */
00066 
00071 #endif 

Generated on Thu May 1 15:37:25 2008 for SREC by  doxygen 1.5.3