1*67e74705SXin Li // RUN: %clang_cc1 %s -emit-html -o - 2*67e74705SXin Li 3*67e74705SXin Li // rdar://6562329 4*67e74705SXin Li #line 42 "foo.c" 5*67e74705SXin Li 6*67e74705SXin Li // PR3635 7*67e74705SXin Li #define F(fmt, ...) fmt, ## __VA_ARGS__ main(int argc,char ** argv)8*67e74705SXin Liint main(int argc, char **argv) { 9*67e74705SXin Li return F(argc, 1); 10*67e74705SXin Li } 11*67e74705SXin Li 12*67e74705SXin Li // PR3798 13*67e74705SXin Li #define FOR_ALL_FILES(f,i) i 14*67e74705SXin Li 15*67e74705SXin Li #if 0 16*67e74705SXin Li FOR_ALL_FILES(f) { } 17*67e74705SXin Li #endif 18*67e74705SXin Li 19*67e74705SXin Li // <rdar://problem/11625964> 20*67e74705SXin Li // -emit-html filters out # directives, but not _Pragma (or MS __pragma) 21*67e74705SXin Li // Diagnostic push/pop is stateful, so re-lexing a file can cause problems 22*67e74705SXin Li // if these pragmas are interpreted normally. 23*67e74705SXin Li _Pragma("clang diagnostic push") 24*67e74705SXin Li _Pragma("clang diagnostic ignored \"-Wformat-extra-args\"") 25*67e74705SXin Li _Pragma("clang diagnostic pop") 26*67e74705SXin Li 27