__PTRDIFF_TYPE__ против ptrdiff_t

Я не понимаю, почему компилятор gnu C использует 2 разных макроса с почти одинаковыми именами -__PTRDIFF_TYPE__ а такжеptrdiff_t - поскольку они идентичны семантике.

Определение этих макросовВот.

Я задал похожий вопросотносительно этого вопрос.

Я дублирую вопрос, потому что в своем первом посте я не получил ответ, который мне действительно нужен.

Может кто-нибудь ясно объяснить подробно, как компилятор gnu C использует каждый из них?

РЕДАКТИРОВАТЬ:

Цель этого поста - понять, как gcc конкретно использует этот объект (тип разности указателей) с момента, когда поток лексемы генерируется и вставляется в анализатор, до момента, когда семантическая проверка завершена и генерируется IC.

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

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