Я использую TrueSTUDIO 9.1.0, а также проверил это в свежей Eclipse IDE для разработчиков на C / C ++ версия: 2018-09 (4.9.0).
Кажется, автоматический форматер кода ставит точку с запятой послевызов макроса на новой строке.
Действия по воспроизведению:
Загрузить Eclipse IDE для разработчиков на C / C ++ версия: 2018-09 (4.9.0) для Windows 32bit.
Создать новый пустой проект C
Создать файл .c с кодом:
#define testmacro() do {printf("test");} while (0)
void main(void) {
testmacro();
}
Отформатируйте весь файл, нажав Ctrl + Shift + F
Получить:
#define testmacro() do {printf("test");} while (0)<br>
void main(void) {
testmacro()
;
}
Это обсуждалось и отклонялось в этом вопросе ( ссылка ) по причине того, что оно было исправлено.
Я делаю что-то не так илиошибка вернулась?