无法通过编译指示禁用LLVM优化
我有一个崩溃的代码块,除非我优化closures。 我正在用LLVM编译器2.0构build
我想通过用#pragma编译器指令包装有问题的代码来closures优化; 或者closures整个文件的优化。
我一直在叮铛声手册和代码; 但是没有任何东西会跳出来。
有谁知道如何改变单个CU的优化(而不是整个应用程序)?
你可以在Xcode中设置每个文件的编译器标志。 在Xcode 4中(我假设您使用的是LLVM 2.0参考),首先在左侧项目浏览器中select项目。 转到“构build阶段”选项卡并展开“编译源”构build阶段。
在那里,你可以设置每个文件的编译器标志,所以你可以尝试去违规的文件,并input-O0
作为标志来尝试和禁用该文件的优化。
GCC有一些你可以为此设定的属性,正如约翰内斯在他的回答中指出的那样,但这些属性可能不在LLVM中。 另外,从那里的评论看来,这些甚至不在苹果定制的用于构buildiOS应用程序的GCC中。