Я работаю с примитивом C Parser, который не обрабатывает директиву препроцессора.
Я могу без проблем обработать большую часть заголовка переключателем -E.
В последнее время я обнаружил случаи, когда присутствуют атрибут и align .
Я пытался избавиться от них с помощью этой настройки:
gcc -D "aligned(ARGS)" \
-D "__align__(ARGS)" \
-D "__attribute__(ARGS)" \
-E /usr/local/include/fancyheader.h
Обновление:
Но безуспешно, пример:
struct __attribute__((aligned(16))) long4
{
long int x, y, z, w;
};
Вышеуказанные операторы преобразуются в, с этим "1" в ожидании около
struct 1 long4
{
long int x, y, z, w;
};
Кто знает, как правильно избавиться от расширений __align__ и __attribute__?