Я написал парсер выражений, который выплевывает кучу инструкций ассемблера для x86, x64 и ARM.Предупреждение GCC C++: предложите круглые скобки
Чтобы проверить это, я написал небольшое приложение, которое генерирует случайные выражения, компилирует их с помощью GCC и сравнивает результат с моим кодом, насколько это хорошо.
Теперь я хочу, чтобы мой парсер выдавал предупреждения, похожие на GCC.
Я заметил, что с GCC 5.1.0
int a = 100 + 100 | 10;
GCC дают Формулирование скобки предупреждение вокруг |
но
int b = 100 * 100 | 10;
НКУ не дает никаких предупреждений.
но и добавление, и умножение имеют более высокий приоритет, чем побитовое ИЛИ, поэтому почему предупреждение на int b = выражение?
Я очень устал, так что, возможно, что-то упустил.
Лично я хотел бы использовать круглые скобки для того, чтобы просто понять, что происходит –
См. Https://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Warning-Options.html#index-Wparentheses- 201 –
Лично я бы не использовал круглые скобки для них, и я бы, конечно, расценил это как полную наглость, чтобы компилятор предлагал добавить избыточный синтаксис. – EJP