Мне просто интересно, почему изменение имен никогда не стандартизировалось стандартом С++. Ясно, что наличие разных алгоритмов изменения имен ухудшает совместимость[1], и я не вижу никаких преимуществ в том, чтобы они определялись реализацией.
То есть, вопреки соглашениям о вызовах или размеру примитивов, самой машине все равно и даже не известно, как вызывается функция. Так почему же он не был стандартизирован и почему он до сих пор не стандартизирован? Компиляторы так или иначе изменили правила в прошлом между версиями.
[1] все эти люди, экспортирующие функции как extern "C"
, говорят о многом.