Я только что решил ту же самую проблему и рвал на себе волосы.
GCC не выдвигал на первый план проблему в заголовочном файле, где ошибка фактически произошла - у меня был случайный символ 'B' в нижней части заголовочного файла (от запуска команды B до компиляции). Затем ошибка добавлялась в файл .m и другие файлы .h, которые включали проблемный, часто в оператор @class.
Если проблема связана с вашим оператором @class, проблема почти наверняка есть в одном из предыдущих заголовочных файлов, так как вы включаете их непосредственно заранее - попробуйте закомментировать их один за другим и перекомпилировать, чтобы узнать, какие именно. Как только вы найдете файл виновника, найти фактическую ошибку будет намного проще.