// Rowley C Compiler, runtime support.
//
// Copyright (c) 2001, 2002 Rowley Associates Limited.
//
// This file may be distributed under the terms of the License Agreement
// provided with this software.
//
// THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

// Can include <assert.h> multiple times, so this doesn't use the standard
// #ifndef/#define idiom.

#ifndef __assert_h
#define __assert_h

#ifdef __cplusplus
extern "C" {
#endif

extern void __assert(const char *, const char *, int);

#ifdef __cplusplus
}
#endif

#else
#undef assert
#endif

#ifdef NDEBUG
#define assert(ignore) ((void)0)
#else
#define assert(e) ((e) ? (void)0 : __assert(#e, __FILE__, __LINE__))
#endif