Dav*_*tti 3 warnings clang suppress-warnings
上下文
我阅读了Clang的"通过编类控制诊断"部分关于关闭特定警告的内容.除了-Wgnu-zero-variadic-macro-arguments之外,它一般适用于所有警告.
代码是:
MyHeader.hpp
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
#import "header generating -Wgnu-zero-variadic-macro-arguments warning"
#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)
问题
Clang 在编译导入MyHeader.hpp的翻译单元时生成-Wgnu-zero-variadic-macro-arguments警告.
信封
Clang版本:Apple LLVM版本6.0(clang-600.0.51)(基于LLVM 3.5svn)目标:x86_64-apple-darwin13.4.0线程模型:posix
操作系统:Mac OS X 10.9.5
这似乎适用于Xcode 6.4(6E35b).该pragma现在禁止警告.
我有-Weverything构建设置.如果没有诊断忽略,我肯定会收到警告:
令牌粘贴','和__VA_ARGS__是GNU扩展
终端输出以匹配您的Env部分:
$ clang --version
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.4.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)
使用以下代码:
#define DEBUG
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
#import "Macros.h"
#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)
其中Macros.h包含:
#ifdef DEBUG
#define AssLog(condition, message, ...) NSAssert(condition, message, ##__VA_ARGS__)
#else
#define AssLog(condition, message, ...) if (!condition) NSLog((@"%@ [Line %d] " message), [NSString stringWithUTF8String:__PRETTY_FUNCTION__], __LINE__, ##__VA_ARGS__)
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2387 次 |
| 最近记录: |