1a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 %s -emit-html -o - 205db4278ecd193edcff63fb8c54818226fceaad2Chris Lattner 305db4278ecd193edcff63fb8c54818226fceaad2Chris Lattner// rdar://6562329 405db4278ecd193edcff63fb8c54818226fceaad2Chris Lattner#line 42 "foo.c" 505db4278ecd193edcff63fb8c54818226fceaad2Chris Lattner 6f0b26b1d9dee57c84e55f05200802658a7312683Chris Lattner// PR3635 7f0b26b1d9dee57c84e55f05200802658a7312683Chris Lattner#define F(fmt, ...) fmt, ## __VA_ARGS__ 8f0b26b1d9dee57c84e55f05200802658a7312683Chris Lattnerint main(int argc, char **argv) { 9f0b26b1d9dee57c84e55f05200802658a7312683Chris Lattner return F(argc, 1); 10f0b26b1d9dee57c84e55f05200802658a7312683Chris Lattner} 11f0b26b1d9dee57c84e55f05200802658a7312683Chris Lattner 127c175fb196a2bc3dbc86ea3865c713e1875f3f6dChris Lattner// PR3798 137c175fb196a2bc3dbc86ea3865c713e1875f3f6dChris Lattner#define FOR_ALL_FILES(f,i) i 147c175fb196a2bc3dbc86ea3865c713e1875f3f6dChris Lattner 157c175fb196a2bc3dbc86ea3865c713e1875f3f6dChris Lattner#if 0 167c175fb196a2bc3dbc86ea3865c713e1875f3f6dChris Lattner FOR_ALL_FILES(f) { } 177c175fb196a2bc3dbc86ea3865c713e1875f3f6dChris Lattner#endif 187c175fb196a2bc3dbc86ea3865c713e1875f3f6dChris Lattner 196fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose// <rdar://problem/11625964> 206fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose// -emit-html filters out # directives, but not _Pragma (or MS __pragma) 216fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose// Diagnostic push/pop is stateful, so re-lexing a file can cause problems 226fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose// if these pragmas are interpreted normally. 236fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose_Pragma("clang diagnostic push") 246fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose_Pragma("clang diagnostic ignored \"-Wformat-extra-args\"") 256fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose_Pragma("clang diagnostic pop") 266fe6a49c4058211ff4489023c78615ec0266c5ffJordan Rose 27