-32768 no se ajusta a un valor firmado de 16 bits

Estoy usando PCLint v 9.00h

En mi código tengo lo siguiente (donde S16 es un signo de 16 bits):

S16 temperatureResult = -32768;

Que a menos que mi cerebro haya dejado de funcionar es el valor más pequeño que puede caber en este tipo

Pero recibo un error de pelusa de "Viola la regla requerida 10.1 de MISRA 2004, conversión implícita de entero a tipo más pequeño"

Si cambio el valor a -32767, funciona bien.

¿Me estoy perdiendo algo obvio?

Respuestas a la pregunta(4)

Su respuesta a la pregunta