Simplify schematic :)
[bertos.git] / cfg / compiler.h
index 7174eb1d5706d511cc4e8b87fe9df236f8eac133..028ef3ad57fafaeabedba505713993b3e18836de 100755 (executable)
 
 /*#*
  *#* $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.
  *#*
        /* 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 */
        #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