#endif
#endif
+#ifndef SIZEOF_SIZE_T
+#if CPU_REG_BITS < 32
+ #define SIZEOF_SIZE_T 2
+#elif CPU_REG_BITS == 32
+ #define SIZEOF_SIZE_T 4
+#else /* CPU_REG_BITS > 32 */
+ #define SIZEOF_SIZE_T 8
+#endif
+#endif
+
#ifndef CPU_BITS_PER_CHAR
#define CPU_BITS_PER_CHAR (SIZEOF_CHAR * 8)
#endif
#endif
STATIC_ASSERT(sizeof(cpu_stack_t) == SIZEOF_CPUSTACK_T);
STATIC_ASSERT(sizeof(cpu_aligned_stack_t) == SIZEOF_CPUALIGNED_T);
-
+STATIC_ASSERT(sizeof(size_t) == SIZEOF_SIZE_T);
#endif /* CPU_TYPES_H */
{
case 'l':
case 'L':
+ #if SIZEOF_SIZE_T == SIZEOF_LONG
case 'z':
flags.l_L_modifier = true;
+ #elif SIZEOF_SIZE_T == SIZEOF_INT
+ flags.l_L_modifier = true;
+ case 'z':
+ #endif
format++;
break;
+
case 'h':
flags.h_modifier = true;
format++;
break;
+
}
/*
switch (PGM_READ_CHAR(format))
{
case 'l':
+ #if SIZEOF_SIZE_T == SIZEOF_LONG
case 'z':
- /* for the 'z' modifier, we make this assumption */
- STATIC_ASSERT(sizeof(size_t) == sizeof(long));
l_modifier = true;
+ #elif SIZEOF_SIZE_T == SIZEOF_INT
+ l_modifier = true;
+ case 'z':
+ #endif
format++;
break;