jva*_*wyk 5 c++ clang precompiled-headers
在我的代码库中,我有一个include文件(MyBaseDefinitions.h)执行a pragma diagnostic push后跟禁用很多警告.如果要重新启用这些警告,则只需在其后添加另一个标头,即pragma诊断pop(EndMyBaseDefinitions.h).
这似乎工作得很好,除了在Clang放入MyBaseDefinitions.h预编译的头文件时.看来诊断"堆栈"在预编译头中丢失了.所以,让我说我有MyPrecompiledHeader.h,它有:
#include "MyBaseDefinitions.h" // does the pragma diagnostic push
然后在我的演示文件中我做:
#include "MyPrecompiledHeader.h"
#include "HeaderExample1.h" // This file has some warnings in it that we don't care about
#include "EndMyBaseDefinitions.h" // Re-enable warnings
// ...
Run Code Online (Sandbox Code Playgroud)
我会收到警告:
error : pragma diagnostic pop could not pop, no matching push [-Werror,-Wunknown-pragmas]
这是一个已知的问题?显然,理想情况下我根本不需要做任何警告禁用,但如果可能的话,让我们暂时忽略这个细节.
--Joel
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |