HomeFreeBSD

With clang 3.9.0, compiling ppbus(4) results in the following warnings:

Description

With clang 3.9.0, compiling ppbus(4) results in the following warnings:

sys/dev/ppbus/ppb_1284.c:296:46: error: implicit conversion from 'int'
to 'char' changes value from 144 to -112 [-Werror,-Wconstant-conversion]

if ((error = do_peripheral_wait(bus, SELECT | nBUSY, 0))) {
             ~~~~~~~~~~~~~~~~~~      ~~~~~~~^~~~~~~

sys/dev/ppbus/ppb_1284.c:785:48: error: implicit conversion from 'int'
to 'char' changes value from 240 to -16 [-Werror,-Wconstant-conversion]

if (do_1284_wait(bus, nACK | SELECT | PERROR | nBUSY,
    ~~~~~~~~~~~~      ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

sys/dev/ppbus/ppb_1284.c:786:29: error: implicit conversion from 'int'
to 'char' changes value from 240 to -16 [-Werror,-Wconstant-conversion]

nACK | SELECT | PERROR | nBUSY)) {
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

This is because nBUSY is 0x80, so the plain char argument is wrapped to
a negative value. Fix this in a minimal fashion, by using uint8_t in a
few places.

Reviewed by: emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D7771

Details

Provenance
dimAuthored on
Reviewer
emaste
Differential Revision
D7771: Fix constant conversion warnings in ppbus(4)
Parents
rS305344: Define drmP.h's __OS_HAS_AGP and __OS_HAS_MTRR macros in a defined and
Branches
Unknown
Tags
Unknown