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
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to