summaryrefslogtreecommitdiffstats
path: root/private/crtlib/include/assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/crtlib/include/assert.h')
-rw-r--r--private/crtlib/include/assert.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/private/crtlib/include/assert.h b/private/crtlib/include/assert.h
new file mode 100644
index 000000000..6049b0f90
--- /dev/null
+++ b/private/crtlib/include/assert.h
@@ -0,0 +1,54 @@
+/***
+*assert.h - define the assert macro
+*
+* Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved.
+*
+*Purpose:
+* Defines the assert(exp) macro.
+* [ANSI/System V]
+*
+****/
+
+
+/*
+ * Conditional macro definition for function calling type and variable type
+ * qualifiers.
+ */
+#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
+
+/*
+ * Definitions for MS C8-32 (386/486) compiler
+ */
+#define _CRTAPI1 __cdecl
+#define _CRTAPI2 __cdecl
+
+#else
+
+/*
+ * Other compilers (e.g., MIPS)
+ */
+#define _CRTAPI1
+#define _CRTAPI2
+
+#endif
+
+#undef assert
+
+#ifdef NDEBUG
+
+#define assert(exp) ((void)0)
+
+#else
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void _CRTAPI1 _assert(void *, void *, unsigned);
+#ifdef __cplusplus
+}
+#endif
+
+#define assert(exp) (void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) )
+
+
+#endif /* NDEBUG */