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