short の複合代入演算

-Werror=conversion  とかコンパイルオプション厳しくしちゃうと

    short n = 1;
    const short m = 2;
    
    n += m;

って通らないの!?

prog.cc: In function 'int main()':
prog.cc:10:7: error: conversion from 'int' to 'short int' may change value [-Werror=conversion]
   10 |     n += m;
      |     ~~^~~~

Implicit integer promotion 後の代入が許せないってこと?? ぐぬぬぬ…。