Search
lxdream.org :: lxdream/test/include/_ansi.h
lxdream 0.9.1
released Jun 29
Download Now
filename test/include/_ansi.h
changeset 185:6755a04c447f
author nkeynes
date Sun Aug 06 06:13:51 2006 +0000 (17 years ago)
permissions -rw-r--r--
last change First pass at implementing the tile clip. Reasonably accurate wrt basic
understanding of how its supposed to work, not so accurate wrt actual
hardware behaviour
view annotate diff log raw
     1 /* Provide support for both ANSI and non-ANSI environments.  */
     3 /* Some ANSI environments are "broken" in the sense that __STDC__ cannot be
     4    relied upon to have it's intended meaning.  Therefore we must use our own
     5    concoction: _HAVE_STDC.  Always use _HAVE_STDC instead of __STDC__ in newlib
     6    sources!
     8    To get a strict ANSI C environment, define macro __STRICT_ANSI__.  This will
     9    "comment out" the non-ANSI parts of the ANSI header files (non-ANSI header
    10    files aren't affected).  */
    12 #ifndef	_ANSIDECL_H_
    13 #define	_ANSIDECL_H_
    15 #include <sys/config.h>
    17 /* First try to figure out whether we really are in an ANSI C environment.  */
    18 /* FIXME: This probably needs some work.  Perhaps sys/config.h can be
    19    prevailed upon to give us a clue.  */
    21 #ifdef __STDC__
    22 #define _HAVE_STDC
    23 #endif
    25 #ifdef _HAVE_STDC
    26 #define	_PTR		void *
    27 #define	_AND		,
    28 #define	_NOARGS		void
    29 #define	_CONST		const
    30 #define	_VOLATILE	volatile
    31 #define	_SIGNED		signed
    32 #define	_DOTS		, ...
    33 #define _VOID void
    34 #define	_EXFUN(name, proto)		name proto
    35 #define	_DEFUN(name, arglist, args)	name(args)
    36 #define	_DEFUN_VOID(name)		name(_NOARGS)
    37 #define _CAST_VOID (void)
    38 #ifndef _LONG_DOUBLE
    39 #define _LONG_DOUBLE long double
    40 #endif
    41 #ifndef _PARAMS
    42 #define _PARAMS(paramlist)		paramlist
    43 #endif
    44 #else	
    45 #define	_PTR		char *
    46 #define	_AND		;
    47 #define	_NOARGS
    48 #define	_CONST
    49 #define	_VOLATILE
    50 #define	_SIGNED
    51 #define	_DOTS
    52 #define _VOID void
    53 #define	_EXFUN(name, proto)		name()
    54 #define	_DEFUN(name, arglist, args)	name arglist args;
    55 #define	_DEFUN_VOID(name)		name()
    56 #define _CAST_VOID
    57 #define _LONG_DOUBLE double
    58 #ifndef _PARAMS
    59 #define _PARAMS(paramlist)		()
    60 #endif
    61 #endif
    63 /* Support gcc's __attribute__ facility.  */
    65 #ifdef __GNUC__
    66 #define _ATTRIBUTE(attrs) __attribute__ (attrs)
    67 #else
    68 #define _ATTRIBUTE(attrs)
    69 #endif
    71 #endif /* _ANSIDECL_H_ */
.