Видимо идентификаторы были помечены как отравленные
Из Документация GCC
# Прагма GCC яд
Иногда существует идентификатор, который вы хотите полностью удалить из своей программы, и убедитесь, что он никогда не закрадывается обратно. Для обеспечения этого вы можете отравить идентификатор этой прагмой. #pragma В GCC за ядом следует список идентификаторов для отравления. Если какой-либо из этих идентификаторов появляется где-либо в источнике после директивы, это серьезная ошибка.
Например,
#pragma GCC poison printf sprintf fprintf
sprintf(some_string, "hello");
выдаст ошибку.
Если отравленный идентификатор появляется как часть расширения макроса, который был определен до того, как идентификатор был отравлен, это не приведет к ошибке. Это позволяет отравить идентификатор, не беспокоясь о системных заголовках, определяющих макросы, которые его используют.
Например,
#define strrchr rindex
#pragma GCC poison rindex
strrchr(some_string, 'h');
не выдаст ошибку.