Formatting.
[bertos.git] / mware / pgm.h
index ea28043e98587cdf166bffec5c81844cecff752c..673b143dca7fca89db86ac27833b7cd4c448897d 100755 (executable)
@@ -24,6 +24,7 @@
 
 #include <cfg/cpu_detect.h>
 #include <cfg/compiler.h> /* For intXX_t */
+#include <cfg/cpu.h> /* For CPU_HARVARD */
 
 #if CPU_AVR
 
@@ -75,7 +76,8 @@
                })
 
 
-       #else
+       #else /* !__AVR_ENHANCED__ */
+
                #define pgm_read_char(addr) \
                ({ \
                        uint16_t __addr16 = (uint16_t)(addr); \
                        __result; \
                })
 
+       #endif /* !__AVR_ENHANCED__ */
+
+       #if SIZEOF_INT == 2
+               #define pgm_read_int(addr) ((int)pgm_read_uint16_t(addr))
+       #else
+               #error Missing support for CPU word size != 16bit
        #endif
 
        #ifndef PROGMEM
 #endif
 
 #ifndef PROGMEM
-#define PROGMEM                /* nothing */
+#define PROGMEM         /* nothing */
 #endif
 
 /*!