Собственно, нужно запретить инлайнинг функции: совместно с instruction reordering-ом вызывает краши. Для gcc есть специальный аттрибут, но не хотелось бы ограничивать себя gcc, хочется и студией собрать и клангом и интел компилером тоже. Возможен ли сабж?
Пока что решение такое:
#if defined(_MSC_VER)
#define NOINLINE __declspec(noinline)
#else
#define NOINLINE __attribute__ ((noinline))
#endif
Но я совсем не уверен, что это достаточно кроссплатформенно.