Add values for new-style CONFIG_PRINTF option.
[bertos.git] / compiler.h
index 7b09e1fd25aacfe3dc91fa7262d5d07f7ac1be61..e15059e229c35ecc670e06a87de2972dfeebb5b3 100755 (executable)
 
 /*
  * $Log$
+ * Revision 1.9  2004/07/29 22:57:09  bernie
+ * vsprintf(): Remove prototype for backwards compatibility with GCC 3.4; ssize_t: Add definition for inferior compilers.
+ *
+ * Revision 1.8  2004/07/20 23:43:39  bernie
+ * Use attribute((always_inline)) to force inlining.  This fixes the much
+ * hated need of redundant prototypes for inline functions.
+ *
+ * Revision 1.7  2004/07/20 23:26:48  bernie
+ * Fix two errors introduced by previous commit.
+ *
  * Revision 1.6  2004/07/20 23:12:43  bernie
- * Reverse the logic to provide defaults for undefined macros.
+ * *** empty log message ***
  *
  * Revision 1.5  2004/07/20 17:08:03  bernie
  * Cleanup documentation
        #define FORMAT(type,fmt,first)  __attribute__((__format__(type, fmt, first)))
        #define NORETURN                __attribute__((__noreturn__))
        #define UNUSED(type,arg)        __attribute__((__unused__)) type arg
-       #define INLINE extern inline
+       #define INLINE                  static inline __attribute__((__always_inline__))
        #if GNUC_PREREQ(3,1)
-               #define DEPRECATED              __attribute__((__deprecated__))
+               #define DEPRECATED      __attribute__((__deprecated__))
        #endif
 
        #if defined(__i386__)
                /* Missing printf-family functions in avr-libc/stdio.h */
                #include <stdarg.h>
                #include <avr/pgmspace.h>
-               #if !GNUC_PREREQ(3,4)
-                       int vsprintf(char *buf, const char *fmt, va_list ap);
-               #endif
                int vsprintf_P(char *buf, const char * PROGMEM fmt, va_list ap);
 
                /* Support for harvard architectures */
 #ifndef FORMAT
 #define FORMAT(type,fmt,first) /* nothing */
 #endif
-#ifndef
+#ifndef DEPRECATED
 #define DEPRECATED             /* nothing */
 #endif
-#ifndef
+#ifndef UNUSED
 #define UNUSED(type,arg)       type arg
 #endif
 #ifndef REGISTER
  * These should be in <sys/types.h>, but many compilers lack them.
  */
 #if !(defined(size_t) || defined(_SIZE_T_DEFINED))
-       #define size_t unsigned int
+       typedef unsigned int size_t;
+       typedef int ssize_t;
 #endif
 #if !(defined(_TIME_T_DEFINED) || defined(__time_t_defined))
        typedef long time_t;