FONT_HAS_GLYPH(): New macro.
[bertos.git] / cfg / compiler.h
index b0a290460510366ffb5b864138a9bf3b092976ff..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.
+ *#*
  *#* Revision 1.11  2006/02/20 14:34:58  bernie
  *#* Use portable type checking.
  *#*
        #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 */
        #include <stddef.h>
        #include <stdint.h>
        #include <stdbool.h>
+       #include <sys/types.h> /* for ssize_t */
 
        #ifndef __cplusplus
                /*
 #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
@@ -417,8 +430,8 @@ 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
- *    Darwin libc:     _BSD_SIZE_T_DEFINED_
+ *    glibc, avr-libc: _SIZE_T_DEFINED, __ssize_t_defined
+ *    Darwin libc:     _BSD_SIZE_T_DEFINED_, _SIZE_T
  *    IAR ARM:         _SIZE_T
  *
  * \{
@@ -433,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;