From 605e7281dc44fea6e3a5a83d03d43ff526b4b9c2 Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Mon, 30 Jan 2017 02:32:33 +0000 Subject: [PATCH] Force the setting of bit 7 in the sysmouse packet byte 1 to be unsigned. Clang complains about the shift of (1 << 7) into a int8_t changing the value: warning: implicit conversion from 'int' to 'int8_t' (aka 'signed char') changes value from 128 to -128 [-Wconstant-conversion] Squash this warning by forcing clang to see it as an unsigned bit. This seems odd, given that it's still a conversion of 128->-128, but I'm guessing the explicit unsigned attribute notifies clang that sign really doesn't matter in this case. Reported by: Mark Millard MFC after: 2 weeks --- sys/dev/adb/adb_mouse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/adb/adb_mouse.c b/sys/dev/adb/adb_mouse.c index eb7cf330401c..9f9d81f1f545 100644 --- a/sys/dev/adb/adb_mouse.c +++ b/sys/dev/adb/adb_mouse.c @@ -520,7 +520,7 @@ ams_read(struct cdev *dev, struct uio *uio, int flag) } } - sc->packet[0] = 1 << 7; + sc->packet[0] = 1U << 7; sc->packet[0] |= (!(sc->buttons & 1)) << 2; sc->packet[0] |= (!(sc->buttons & 4)) << 1; sc->packet[0] |= (!(sc->buttons & 2));