История изменений
Исправление wandrien, (текущая версия) :
Вся эта идея fixincludes – большая параша.
Одно дело, когда при сборке программы проверяются проблемы окружения, в котором будет выполняться сборка, и подставляются нужные замены функций, заголовочных файлов и т.п.. Как это делает любая нетривиальная кросплатформенная программа при своей сборке.
И если бы gcc просто в ./configure детектил проблемы и затем использовал хаки, чтобы самому скомпилироваться и работать – это было бы окей.
Но они суют эту парашу в заголовочники, которые компилятор будет предоставлять компилируемому коду.
Это полный абсурд.
Извините, но если целевая платформа не обеспечивает standard compliance для компилируемого кода, это:
- по большому счёту, не проблема компилятора
- это не должно просто заменяться на хак.
Это должно быть явно документированное поведение: что именно не соответствует, и как именно компилятор решает эту проблему. Прямо в документации на компилятор как продукт.
У них же в лучших традициях m4-портянок, всё это навалено одной большой кучей на заднем дворе.
Исправление wandrien, :
Вся эта идея fixincludes – большая параша.
Одно дело, когда при сборке программы проверяются проблемы окружения, в котором будет выполняться сборка, и подставляются нужные замены функций, заголовочных файлов и т.п.. Как это делает любая нетривиальная кросплатформенная программа при своей сборке.
И если бы gcc просто в ./configure детектил проблемы и затем использовал хаки, чтобы самому скомпилироваться и работать – это было бы окей.
Но они суют эту парашу в заголовочники, которые компилятор будет предоставлять компилируемому коду.
Это полный абсурд.
Извините, но если целевая платформа не обеспечивает standard compliance, это:
- не проблема компилятора
- это не должно просто заменяться на хак.
Это должно быть явно документированное поведение: что именно не соответствует, и как именно компилятор решает эту проблему. Прямо в документации на компилятор как продукт.
У них же в лучших традициях m4-портянок, всё это навалено одной большой кучей на заднем дворе.
Исправление wandrien, :
Вся эта идея fixincludes – большая параша.
Одно дело, когда при сборке программы проверяются проблемы окружения, в котором будет выполняться сборка, и подставляются нужные замены функций, заголовочных файлов и т.п.. Как это делает любая нетривиальная кросплатформенная программа при своей сборке.
И если бы gcc просто в ./configure детектил проблемы и затем использовал хаки, чтобы самому скомпилироваться и работать – это было бы окей.
Но они суют эту парашу в заголовочники, которые компилятор будет предоставлять компилируемому коду.
Это полный абсурд.
Извините, но если целевая платформа не обеспечивает standard compliance, это:
- не проблема компилятора
- это не должно просто заменяться на хак.
Это должно быть явно документированное поведение: что именно не соответствует, и как именно компилятор решает эту проблему. Прямо в документации на компилятор как продукт.
Исходная версия wandrien, :
Вся эта идея fixincludes – большая параша.
Одно дело, когда при сборке программы проверяются проблемы окружения, в котором будет выполняться сборка, и подставляются нужные замены функций, заголовочных файлов и т.п.. Как это делает любая нетривиальная кросплатформенная программа при своей сборке.
И если бы gcc просто в ./configure детектил пробелмы и затем использовал хаки, чтобы самому скомпилироваться и работать – это было бы окей.
Но они суют эту парашу в заголовочники, которые компилятор будет предоставлять компилируемому коду.
Это полный абсурд.
Извините, но если целевая платформа не обеспечивает standard compliance, это:
- не проблема компилятора
- это не должно просто заменяться на хак.
Это должно быть явно документированное поведение: что именно не соответствует, и как именно компилятор решает эту проблему. Прямо в документации на компилятор как продукт.