Annotation of Gnu-Mach/kern/assert.h, revision 1.1.1.3

1.1.1.2   root        1: /*
1.1       root        2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
                      4:  * All Rights Reserved.
1.1.1.2   root        5:  *
1.1       root        6:  * Permission to use, copy, modify and distribute this software and its
                      7:  * documentation is hereby granted, provided that both the copyright
                      8:  * notice and this permission notice appear in all copies of the
                      9:  * software, derivative works or modified versions, and any portions
                     10:  * thereof, and that both notices appear in supporting documentation.
1.1.1.2   root       11:  *
1.1       root       12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
1.1.1.2   root       15:  *
1.1       root       16:  * Carnegie Mellon requests users of this software to return to
1.1.1.2   root       17:  *
1.1       root       18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
1.1.1.2   root       22:  *
1.1       root       23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: 
                     27: #ifndef        _KERN_ASSERT_H_
                     28: #define        _KERN_ASSERT_H_
                     29: 
                     30: /*     assert.h        4.2     85/01/21        */
                     31: 
                     32: #include <kern/macro_help.h>
                     33: 
1.1.1.3 ! root       34: #ifndef NDEBUG
1.1       root       35: #define MACH_ASSERT 1
                     36: #endif
                     37: 
                     38: #if    MACH_ASSERT
1.1.1.3 ! root       39: extern void Assert(char *exp, char *filename, int line) __attribute__ ((noreturn));
1.1       root       40: 
                     41: #define assert(ex)                                                     \
                     42: MACRO_BEGIN                                                            \
                     43:        if (!(ex))                                                      \
                     44:                Assert(#ex, __FILE__, __LINE__);                        \
                     45: MACRO_END
                     46: 
                     47: #ifdef lint
                     48: #define        assert_static(x)
1.1.1.2   root       49: #else  /* lint */
1.1       root       50: #define        assert_static(x)        assert(x)
1.1.1.2   root       51: #endif /* lint */
1.1       root       52: 
1.1.1.2   root       53: #else  /* MACH_ASSERT */
1.1       root       54: #define assert(ex)
                     55: #define assert_static(ex)
1.1.1.2   root       56: #endif /* MACH_ASSERT */
1.1       root       57: 
1.1.1.2   root       58: #endif /* _KERN_ASSERT_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.