Что эквивалентно GCC #pragma GCC optimize("O0")
или VS #pragma optimize("", off)
в компиляторе Apple LLVM 5.0?
Мне нужно, чтобы отключить оптимизацию только для части кода.
Из краткого поиска не похоже, что clang / llvm поддерживает такую прагму в настоящее время. Если вы не хотите отключать оптимизацию для всего файла, я предлагаю разделить то, что вы не хотите оптимизировать, в отдельный файл и установить -O0 для него отдельно.
На самом деле теперь есть способ сделать это, указав __attribute__ ((optnone))
к функции, которая упаковывает код, который вы не хотите оптимизировать.
Например, я использую его, чтобы иметь четкий эталон встроенной функции
static void BM_notoptimizedfunction(benchmark::State& state) __attribute__ ((optnone)) {
// your code here won't be optimized by clang
}
И это все !