2013-11-04 14 views
5

Was entspricht die #pragma GCC optimize("O0") oder #pragma optimize("", off) GCC in Apple LLVM 5.0 Compiler?Apple LLVM 5.0 pragma optimieren

Ich brauche es, um Optimierungen für nur einen Teil des Codes zu deaktivieren.

Antwort

4

Von einer kurzen Suche sieht es nicht aus wie clang/llvm unterstützt ein solches Pragma zu dieser Zeit. Wenn Sie Optimierungen für eine ganze Datei nicht ausschalten wollen, sollten Sie das, was nicht optimiert werden soll, in eine separate Datei einteilen und -OO separat einstellen.

0

Tatsächlich gibt es jetzt eine Möglichkeit, dies zu tun, indem Sie einen __attribute__ ((optnone)) für die Funktion angeben, die den Code umschließt, den Sie nicht optimieren möchten.

Zum Beispiel verwende ich es einen klaren Maßstab für eine Inline-Funktion es

static void BM_notoptimizedfunction(benchmark::State& state) __attribute__ ((optnone)) { 
    // your code here won't be optimized by clang 
} 

Und das ist zu haben!