История изменений
Исправление vodz, (текущая версия) :
Ага, и дописал в стандарт c99 пункт 6.3.2.3.
Было сказано: «ни тогда, ни сейчас не требуется кастование для malloc().» Даже когда не было (void *) и тем более c99. А вы увидели ключевое слово и радостно ляпнули совсем не по теме.
Это не про архитектуру было, а про потенциальное ub при касте указатель на тип с другим выравниванием.
И чем тут (void *) поможет? Вначале присвоили невыровненное, а потом присвоили до широкого типа.
Я видел такое от плюсовиков, которые пишут иногда на си.
Вы не поняли, в те времена C++ ещё не родился. lint был тупой не от того, что авторы были тупые, а времена такие, под хороший статический анализатор надо много памяти, а было всего 64к на процесс.
Исходная версия vodz, :
Ага, и дописал в стандарт c99 пункт 6.3.2.3.
Было сказано: «ни тогда, ни сейчас не требуется кастование для malloc().» Даже когда не было (void *) и тем более c99. А вы увидели ключевое слово и радостно ляпнули совсем не по теме.
Это не про архитектуру было, а про потенциальное ub при касте указатель на тип с другим выравниванием.
И чем тут (void *) поможет? Вначале присвоили невыровненное, а потом присвоили до широкого типа.
Я видел такое от плюсовиков, которые пишут иногда на си.
Вы не поняли, в те времена C++ ещё не родился.