ftp.nice.ch/pub/next/developer/languages/sgml/sp.1.1.1.I.bs.tar.gz#/sp-1.1.1.I.bs/include/macros.h

This is macros.h in view mode; [Download] [Up]

// Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.

#ifndef macros_INCLUDED
#define macros_INCLUDED 1

#ifndef __GNUG__
#define __attribute__(args) /* as nothing */
#endif

#ifdef NDEBUG

#include <stdlib.h>
#define ASSERT(expr) ((void)0)
#define CANNOT_HAPPEN() ((void)abort())

#else /* not NDEBUG */

#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
extern SP_API void assertionFailed(const char *, const char *, int)
     __attribute__((noreturn));
#ifdef SP_NAMESPACE
}
#endif

#define ASSERT(expr) \
  ((void)((expr) || \
  (::SP_NAMESPACE_SCOPE assertionFailed(# expr, __FILE__, __LINE__), 0)))
#define CANNOT_HAPPEN() ASSERT(0)

#endif /* not NDEBUG */

#define SIZEOF(v) (sizeof(v)/sizeof(v[0]))

#endif /* not macros_INCLUDED */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.