annotate inlinedefs.h @ 31:39901e11b1aa

inlinedefs is a hack, so hack it up
author David A. Holland
date Mon, 20 Dec 2010 06:54:59 -0500
parents 411b28d78483
children 0921c47b4f22
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
1 /*
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
2 * Copyright (c) 2009 David A. Holland.
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
3 * All rights reserved.
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
4 *
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
5 * Redistribution and use in source and binary forms, with or without
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
6 * modification, are permitted provided that the following conditions
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
7 * are met:
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
8 * 1. Redistributions of source code must retain the above copyright
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
9 * notice, this list of conditions and the following disclaimer.
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
10 * 2. Redistributions in binary form must reproduce the above copyright
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
11 * notice, this list of conditions and the following disclaimer in the
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
12 * documentation and/or other materials provided with the distribution.
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
13 * 3. Neither the name of the Author nor the names of any contributors
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
14 * may be used to endorse or promote products derived from this software
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
15 * without specific prior written permission.
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
16 *
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
27 * SUCH DAMAGE.
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
28 */
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
29
31
39901e11b1aa inlinedefs is a hack, so hack it up
David A. Holland
parents: 1
diff changeset
30 #ifndef __c99inline
39901e11b1aa inlinedefs is a hack, so hack it up
David A. Holland
parents: 1
diff changeset
31
1
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
32 #if defined(__GNUC__) && !defined(__GNUC_STDC_INLINE__)
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
33 /* gcc's non-C99 inline semantics */
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
34 #define __c99inline extern inline
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
35 #elif defined(__STDC__) && __STDC_VERSION__ >= 199901L
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
36 /* C99 */
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
37 #define __c99inline inline
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
38 #else
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
39 /* something else; static inline is safest */
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
40 #define __c99inline static inline
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
41 #endif
411b28d78483 standard arrays (nearly)
David A. Holland
parents:
diff changeset
42
31
39901e11b1aa inlinedefs is a hack, so hack it up
David A. Holland
parents: 1
diff changeset
43 #endif