X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=compiler.h;h=863fbbe40266c92375c02dd1076f0ccfcdfef1e9;hb=d8c41d44af59c3b699736024da1ccc11efa52384;hp=dd7a5b88dbf44df8ade9998dc086c1fa2516c9ff;hpb=84db03bc2d158be3787b49d191603d68d99cb70a;p=bertos.git diff --git a/compiler.h b/compiler.h index dd7a5b88..863fbbe4 100755 --- a/compiler.h +++ b/compiler.h @@ -15,6 +15,12 @@ /* * $Log$ + * Revision 1.10 2004/07/30 14:15:53 rasky + * Nuovo supporto unificato per detect della CPU + * + * 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. @@ -47,6 +53,7 @@ #define COMPILER_H #include "arch_config.h" +#include "cpu_detect.h" #if defined __GNUC__ && defined __GNUC_MINOR__ @@ -122,7 +129,7 @@ #define DEPRECATED __attribute__((__deprecated__)) #endif - #if defined(__i386__) + #if CPU_X86 /* hack to avoid conflicts with system type */ #define sigset_t system_sigset_t @@ -131,7 +138,7 @@ #include #undef system_sigset_t - #elif defined(__AVR__) + #elif CPU_AVR #include #include @@ -139,9 +146,6 @@ /* Missing printf-family functions in avr-libc/stdio.h */ #include #include - #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 */ @@ -151,15 +155,18 @@ #define PGM_ATTR PROGMEM #endif - #endif /* CPU */ + #endif -#elif defined(__MWERKS__) && (defined(__m56800E__) || defined(__m56800__)) +#elif defined(__MWERKS__) && CPU_DSP56K #include #include #include #include + // CodeWarrior has size_t as built-in type, but does not define this symbol. + #define _SIZE_T_DEFINED + #else #error unknown compiler #endif @@ -274,7 +281,8 @@ * These should be in , 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; @@ -300,6 +308,7 @@ typedef unsigned char page_t; typedef unsigned short int uint16_t; typedef unsigned long int uint32_t; #elif defined(__AVR__) + /* TODO: should this detect GCC+AVR combo, or just CPU_AVR? */ /* avr-libc is weird... */ #include #else @@ -315,7 +324,7 @@ typedef unsigned char page_t; * * \{ */ -#if (defined(__m56800E__) || defined(__m56800__)) +#if CPU_DSP56K /* Registers can be accessed only through 16-bit pointers */ typedef volatile uint16_t reg16_t; #else