Add even more code duplication until we properly refactor debug.h.
[bertos.git] / cfg / compiler.h
index f0f3285e19744c12be272ce0f6cd01a742444f94..e9d7567ccc090905b8b24a10ffbd66f0e35cdbaf 100755 (executable)
 
 /*#*
  *#* $Log$
+ *#* Revision 1.14  2006/02/23 08:36:33  bernie
+ *#* Emulate __func__ on MSVC.
+ *#*
+ *#* Revision 1.13  2006/02/23 07:37:37  bernie
+ *#* Compile fix for MSVC.
+ *#*
  *#* Revision 1.12  2006/02/21 16:06:31  bernie
  *#* Fix ssize_t redefinitions on glibc systems.
  *#*
        #define snprintf _snprintf
        #define vsnprintf _vsnprintf
 
+       /* MSVC doesn't support C99's __func__, but has a similar extension. */
+       #define __func__ __FUNCTION__
+
 #elif defined(__GNUC__)
 
        /* Compiler features */
 #endif
 
 
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) \
        || ((defined(__IAR_SYSTEMS_ICC) || defined(__IAR_SYSTEMS_ICC__)) && CPU_I196)
        /*!
         * \name ISO C99 fixed-size types
@@ -422,7 +431,7 @@ typedef unsigned char page_t;    /*!< Type for banked memory pages. */
  * We check for some common definitions to avoid redefinitions:
  *
  *    glibc, avr-libc: _SIZE_T_DEFINED, __ssize_t_defined
- *    Darwin libc:     _BSD_SIZE_T_DEFINED_
+ *    Darwin libc:     _BSD_SIZE_T_DEFINED_, _SIZE_T
  *    IAR ARM:         _SIZE_T
  *
  * \{
@@ -437,7 +446,7 @@ typedef unsigned char page_t;    /*!< Type for banked memory pages. */
        #endif
 #endif
 
-#if !(defined(ssize_t) || defined(__ssize_t_defined))
+#if !(defined(ssize_t) || defined(_SSIZE_T) || defined(__ssize_t_defined))
        #if CPU_X86
                /* 32bit or 64bit (32bit for _WIN64). */
                typedef long ssize_t;