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

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: 
1.1.1.5   root       32: #include <kern/macros.h>
1.1       root       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.6 ! root       39: extern void Assert(const char *exp, const char *filename, int line,
        !            40:                   const char *fun) __attribute__ ((noreturn));
1.1       root       41: 
                     42: #define assert(ex)                                                     \
1.1.1.4   root       43:        ((ex)                                                           \
                     44:         ? (void) (0)                                                   \
1.1.1.6 ! root       45:         : Assert (#ex, __FILE__, __LINE__, __FUNCTION__))
1.1       root       46: 
                     47: #define        assert_static(x)        assert(x)
                     48: 
1.1.1.2   root       49: #else  /* MACH_ASSERT */
1.1       root       50: #define assert(ex)
                     51: #define assert_static(ex)
1.1.1.2   root       52: #endif /* MACH_ASSERT */
1.1       root       53: 
1.1.1.2   root       54: #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.