If we are to use "u32" in the code, and not "uint32_t" - (see earlier
email threads) then these macros are *wrong*.
========================
#define DEFINE_PARSE_ULONG(name, type, max) \
static inline int parse_##name(const char *str, type *ul) \
{ \
unsigned long n; \
int retval = parse_ulong(str, &n); \
*ul = n; \
return n > (max) ? ERROR_COMMAND_SYNTAX_ERROR : retval; \
}
DEFINE_PARSE_ULONG(uint, unsigned, UINT_MAX)
DEFINE_PARSE_ULONG(u32, uint32_t, UINT32_MAX)
DEFINE_PARSE_ULONG(u16, uint16_t, UINT16_MAX)
DEFINE_PARSE_ULONG(u8, uint8_t, UINT8_MAX)
========================
Parameter "type" should be uint, u32, u16, or u8 -
Otherwise, GCC generates this error:
/home/duane/ocd/openocd.head/src/jtag/tcl.c:1200: warning: passing arg 2
of `parse_u32' from incompatible pointer type
-Duane.
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development