То есть вы предлагаете во всех-всех if() при написании вставлять скобки?
Отправлено
Запрещенные_символы (91.135.22.160) 04 января 2010, г. 12:43
В ответ на: Берется всего одна пара скобочек.... >> отправлено
VasilyS 04 января 2010, г. 12:12
Смысл такой конструкции - заменить некую функцию something() на гарантированно встраиваемый вариант. С вашем же решением придется либо на этапе написания программы любой единичный вызов функции из-под if() заранее заключать в фигурные скобки (мало ли потом понадобится ее встроить), либо после замены функции на #define прошерстить весь код и во все проблемные места вставить фигурные скобки. Что гораздо сложнее, чем просто использовать do {} while(0) в #define. Вариант заставить встраивать функцию всякими директивами типа #pragma inline=forced, __attribute__((always_inline)) не катит - он компиляторозависим и все равно оставляет компилятору право в некоторых случаях проигнорировать такую директиву.