/*#*
*#* $Log$
+ *#* Revision 1.19 2006/04/11 00:07:33 bernie
+ *#* Implemenent MF_SAVESEL flag.
+ *#*
+ *#* Revision 1.18 2006/03/22 13:34:34 bernie
+ *#* MSVC support.
+ *#*
+ *#* Revision 1.17 2006/03/22 09:48:35 bernie
+ *#* Formatting.
+ *#*
+ *#* Revision 1.16 2006/03/20 17:48:09 bernie
+ *#* Fix for avr-libc; INTERRUPT(): Remove macro.
+ *#*
*#* Revision 1.15 2006/03/13 02:06:25 bernie
*#* containerof(): New macro.
*#*
/* MSVC doesn't support C99's __func__, but has a similar extension. */
#define __func__ __FUNCTION__
+ /* MSVC doesn't support C99's inline keyword */
+ #ifndef __cplusplus
+ #define INLINE __inline
+ #endif
+
#elif defined(__GNUC__)
/* Compiler features */
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
+ #if !CPU_AVR
#include <sys/types.h> /* for ssize_t */
+ #endif
#ifndef __cplusplus
/*
#ifndef REGISTER
#define REGISTER /* nothing */
#endif
-#ifndef INTERRUPT
-#define INTERRUPT(x) ERROR_NOT_IMPLEMENTED
-#endif
#ifndef LIKELY
#define LIKELY(x) x
#endif
#define EXTERN_C extern "C"
#define EXTERN_C_BEGIN extern "C" {
#define EXTERN_C_END }
- #define EXTERN_CONST extern const
+ #define EXTERN_CONST extern const
+ #define CONST_CAST(TYPE,EXPR) (const_cast<TYPE>(EXPR))
#else
#define EXTERN_C extern
#define EXTERN_C_BEGIN /* nothing */
#define EXTERN_C_END /* nothing */
- #define EXTERN_CONST const
+ #define EXTERN_CONST const
+ #define CONST_CAST(TYPE,EXPR) ((TYPE)(EXPR)) /* FIXME: How can we suppress the warning in C? */
#endif