Alternatively every flag that changes the semantics of the code is a workaround for either legacy code no one will fix or language committee decisions that have unintended side effects.

Are C/C++ chars signed or unsigned? What a mess!