Probleme beim Deaktivieren von LLVM-Optimierungen über Pragma

8

Ich habe ein Stück Code, das abstürzt, wenn ich nicht mit deaktivierten Optimierungen arbeite. Ich baue mit LLVM Compiler 2.0

Ich möchte die Optimierungen ausschalten, indem ich den fehlerhaften Code mit einer #pragma Compiler-Direktive einpacke; oder deaktivieren Sie Optimierungen für eine ganze Datei.

Ich habe in dem klingenden Handbuch und Code gegraben; aber nichts springt auf mich.

Kann jemand die Optimierungen für eine einzelne CU ändern (im Gegensatz zur gesamten App)?

    
Dave 11.04.2011, 18:17
quelle

1 Antwort

15

Sie können Compiler-Flags für Dateien in Xcode festlegen. In Xcode 4 (von dem ich vermute, dass Sie ihn aufgrund der LLVM 2.0-Referenz verwenden), wählen Sie zuerst das Projekt im linken Projektbrowser aus. Wechseln Sie zur Registerkarte Build Phases und erweitern Sie die Build-Phase Compile Sources.

Dort können Sie Compiler-Flags pro Datei setzen, so dass Sie versuchen könnten, zu der problematischen Datei zu gehen und in -O0 als Flag einzugeben, um Optimierungen für diese Datei zu versuchen und zu deaktivieren.

GCC hat einige Attribute, die Sie dafür einstellen können, wie Johannes in seine Antwort hier , aber diese sind vielleicht nicht in LLVM. Aus den Kommentaren dort geht hervor, dass diese nicht einmal in Apples individuell angepassten GCC zum Erstellen von iOS-Anwendungen verwendet werden.

    
Brad Larson 11.04.2011, 19:47
quelle

Tags und Links