Является ли & errno законным C?

За 7,5,

[errno] расширяется до модифицируемой lvalue175), которая имеет тип int, значение которого устанавливается положительным числом ошибки несколькими библиотечными функциями. Не определено, является ли errno макросом или идентификатором, объявленным с внешней связью. Если определение макроса подавлено для доступа к реальному объекту, или программа определяет идентификатор с именем errno, поведение не определено.

175) Макрос errno не обязательно должен быть идентификатором объекта. Он может расширяться до модифицируемого lvalue, получаемого в результате вызова функции (например, * errno ()).

Мне не ясно, достаточно ли этого, чтобы&errno не будет нарушением ограничений. Язык C имеет lvalue (например, переменные класса register-storage; однако они могут быть только автоматически, поэтомуerrno не может быть определен как таковой) для которого& оператор является нарушением ограничения.

Если&errno является законным C, это должно быть постоянным?

Ответы на вопрос(5)

Ваш ответ на вопрос