HomeFreeBSD

With clang 3.9.0, compiling uplcom results in the following warnings:

Description

With clang 3.9.0, compiling uplcom results in the following warnings:

sys/dev/usb/serial/uplcom.c:543:29: error: implicit conversion from 'int' to 'int8_t' (aka 'signed char') changes value from 192 to -64 [-Werror,-Wconstant-conversion]

if (uplcom_pl2303_do(udev, UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 1)
    ~~~~~~~~~~~~~~~~       ^~~~~~~~~~~~~~~~~~~~~

sys/dev/usb/usb.h:179:53: note: expanded from macro 'UT_READ_VENDOR_DEVICE'
#define UT_READ_VENDOR_DEVICE (UT_READ | UT_VENDOR | UT_DEVICE)

~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~

This is because UT_READ is 0x80, so the int8_t argument is wrapped to a
negative value. Fix this by using uint8_t instead.

Reviewed by: imp, hselasky
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D7776

Details

Provenance
dimAuthored on
Reviewer
imp
Differential Revision
D7776: Fix constant conversion warnings in uplcom(4)
Parents
rS305387: Some further micro-optimizations for the libllvm and lldb build.
Branches
Unknown
Tags
Unknown